Skip to content

Commit

Permalink
MIJN-xxxx Update test cases (#1073)
Browse files Browse the repository at this point in the history
  • Loading branch information
timvanoostrom authored Nov 28, 2023
1 parent 9b5f510 commit 5446dcf
Show file tree
Hide file tree
Showing 9 changed files with 1,150 additions and 2,509 deletions.
82 changes: 50 additions & 32 deletions src/client/pages/VergunningDetail/RvvSloterweg.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,37 +5,57 @@ import { InfoDetail } from '../../components';
import { InfoDetailGroup } from '../../components/InfoDetail/InfoDetail';

const RVV_SLOTERWEG_RESULT_NOT_APPLICABLE = 'Ingetrokken';
const RVV_SLOTERWEG_RESULT_UPDATED_WIHT_NEW_KENTEKEN = 'Verlopen';
const RVV_SLOTERWEG_RESULT_MATURED = 'Vervallen';
const RVV_SLOTERWEG_RESULT_EXPIRED = 'Verlopen';
const RVV_SLOTERWEG_RESULT_UPDATED_WITH_NEW_KENTEKEN = 'Vervallen';

export function getRVVSloterwegLineItems(
vergunning: RVVSloterweg
): StatusLineItem[] {
const isChangeRequest = vergunning.requestType === 'Wijziging';
const isChangeRequest = vergunning.requestType !== 'Nieuw';

const isReceived =
(!vergunning.dateWorkflowActive || !vergunning.dateWorkflowVerleend) &&
!vergunning.decision;

const isInprogress = !!vergunning.dateWorkflowActive || !isChangeRequest;
const isGranted = !!vergunning.dateWorkflowVerleend;

const isExpiredByEndDate =
vergunning.dateEnd &&
isGranted &&
new Date(vergunning.dateEnd) <= new Date();
const isExpired =
vergunning.dateEnd && isGranted
? new Date(vergunning.dateEnd) < new Date()
: false;
isExpiredByEndDate || vergunning.decision === RVV_SLOTERWEG_RESULT_EXPIRED;

const dateInProgress =
vergunning.dateWorkflowActive ?? vergunning.dateStart ?? '';

const hasDecision = [
RVV_SLOTERWEG_RESULT_NOT_APPLICABLE,
RVV_SLOTERWEG_RESULT_UPDATED_WIHT_NEW_KENTEKEN,
RVV_SLOTERWEG_RESULT_MATURED,
RVV_SLOTERWEG_RESULT_EXPIRED,
RVV_SLOTERWEG_RESULT_UPDATED_WITH_NEW_KENTEKEN,
].includes(vergunning.decision);

const grantedText = isChangeRequest
? `Wij hebben uw kentekenwijziging voor een ${vergunning.title} verleend.`
: `Wij hebben uw aanvraag voor een RVV ontheffing ${vergunning.area} ${vergunning.licensePlates} verleend.`;
const isIngetrokken =
vergunning.decision === RVV_SLOTERWEG_RESULT_NOT_APPLICABLE;

const hasUpdatedKenteken =
vergunning.decision === RVV_SLOTERWEG_RESULT_UPDATED_WITH_NEW_KENTEKEN;

const descriptionIngetrokken = `Wij hebben uw RVV ontheffing ${vergunning.area} voor kenteken ${vergunning.licensePlates} ingetrokken. Zie het intrekkingsbesluit voor meer informatie.`;

let dateInProgress =
vergunning.dateWorkflowActive ?? vergunning.dateWorkflowVerleend;
let descriptionAfgehandeld = '';

switch (true) {
case isGranted && isChangeRequest:
descriptionAfgehandeld = `Wij hebben uw kentekenwijziging voor een ${vergunning.title} verleend.`;
break;
case isGranted && !isChangeRequest:
descriptionAfgehandeld = `Wij hebben uw aanvraag voor een RVV ontheffing ${vergunning.area} ${vergunning.licensePlates} verleend.`;
break;
case !isGranted && isIngetrokken:
descriptionAfgehandeld = descriptionIngetrokken;
break;
}

const lineItems: StatusLineItem[] = [
{
Expand All @@ -50,7 +70,7 @@ export function getRVVSloterwegLineItems(
{
id: 'status-in-behandeling',
status: 'In behandeling',
datePublished: dateInProgress ?? '',
datePublished: dateInProgress,
description: '',
documents: [],
isActive: isInprogress && !isGranted && !hasDecision,
Expand All @@ -64,29 +84,27 @@ export function getRVVSloterwegLineItems(
: !!vergunning.dateWorkflowVerleend
? vergunning.dateWorkflowVerleend
: '',
description: isGranted && !(hasDecision || isExpired) ? grantedText : '',
description: descriptionAfgehandeld,
documents: [],
isActive: isGranted && !(hasDecision || isExpired),
isChecked: isGranted || hasDecision || isExpired,
isActive: (isGranted && !hasDecision) || (!isGranted && hasDecision),
isChecked: isGranted || hasDecision,
},
];

if (hasDecision || isExpired) {
if (isGranted && (isIngetrokken || isExpired || hasUpdatedKenteken)) {
let description = '';
if (
isExpired ||
vergunning.decision === RVV_SLOTERWEG_RESULT_UPDATED_WIHT_NEW_KENTEKEN
) {
description = `Uw RVV ontheffing ${vergunning.area} voor kenteken ${vergunning.licensePlates} is verlopen.`;
}

if (vergunning.decision === RVV_SLOTERWEG_RESULT_NOT_APPLICABLE) {
description = `Wij hebben uw RVV ontheffing ${vergunning.area} voor kenteken ${vergunning.licensePlates} ingetrokken. Zie het intrekkingsbesluit voor meer informatie.`;
}

if (vergunning.decision === RVV_SLOTERWEG_RESULT_MATURED) {
description =
'U heeft een nieuw kenteken doorgegeven. Bekijk de ontheffing voor het nieuwe kenteken in het overzicht.';
switch (true) {
case isIngetrokken:
description = descriptionIngetrokken;
break;
case isExpired:
description = `Uw RVV ontheffing ${vergunning.area} voor kenteken ${vergunning.licensePlates} is verlopen.`;
break;
case hasUpdatedKenteken:
description =
'U heeft een nieuw kenteken doorgegeven. Bekijk de ontheffing voor het nieuwe kenteken in het overzicht.';
break;
}

lineItems.push({
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
import { render } from '@testing-library/react';
import { generatePath } from 'react-router-dom';
import { MutableSnapshot } from 'recoil';
import slug from 'slugme';

import { describe, expect, it, test } from 'vitest';
import vergunningenData from '../../../server/mock-data/json/vergunningen.json';
import {
RVVSloterweg,
transformVergunningenData,
} from '../../../server/services/vergunningen/vergunningen';
import { AppRoutes } from '../../../universal/config';
import { appStateAtom } from '../../hooks/useAppState';
import MockApp from '../MockApp';
import VergunningDetail from './VergunningDetail';
import { bffApi } from '../../../test-utils';
import { getRVVSloterwegLineItems } from './RvvSloterweg';

const content = transformVergunningenData(vergunningenData as any);

describe('RVV Sloterweg status line items', () => {
const zaken: Array<{ title: string; identifier: string }> = [
{
identifier: 'Z/23/98798273423',
title: 'RVV ontheffing Sloterweg (Nieuw/Verleend)',
},
{
identifier: 'Z/23/98989234',
title: 'RVV ontheffing van Vlaanderenlaan (Wijziging/Ontvangen)',
},
{
identifier: 'Z/23/23423409',
title: 'RVV ontheffing van Vlaanderenlaan (Wijziging/Ingetrokken)',
},
{
identifier: 'Z/23/091823087',
title: 'RVV ontheffing Sloterweg (Wijziging/Verleend)',
},
{
identifier: 'Z/23/92222273423',
title: 'RVV ontheffing Sloterweg (Wijziging/Verlopen)',
},
{
identifier: 'Z/23/98744444423',
title: 'RVV ontheffing Sloterweg (Nieuw/Verlopen)',
},
{
identifier: 'Z/23/123123456',
title: 'RVV ontheffing Laan van Vlaanderen (Nieuw/Ingetrokken)',
},
{
identifier: 'Z/23/2003529',
title: 'RVV ontheffing Sloterweg (Nieuw / In behandeling)',
},
{
identifier: 'Z/23/2003533',
title: 'RVV ontheffing Sloterweg West (Nieuw vervallen)',
},
{
identifier: 'Z/23/200323232323',
title: 'RVV ontheffing Sloterweg West (Wijziging vervallen)',
},
{
identifier: 'Z/23/2003534',
title: 'RVV ontheffing Sloterweg West (Wijziging / ontvangen)',
},
{
identifier: 'Z/23/2003388',
title: 'RVV ontheffing Sloterweg West (Nieuw in behandeling)',
},
{
identifier: 'Z/23/123123123',
title: 'RVV ontheffing Sloterweg West (Wijziging ingetrokken)',
},
{
identifier: 'Z/23/789076676',
title: 'RVV ontheffing Sloterweg West (Wijziging Verleend / ingetrokken)',
},
{
identifier: 'Z/23/2230346',
title: 'RVV ontheffing Laan van Vlaanderen',
},
{
identifier: 'Z/23/2230349',
title: 'RVV ontheffing Sloterweg (Verleend)',
},
{
identifier: 'Z/23/999999999',
title: 'RVV ontheffing Laan van Vlaanderen (AAYYAA) (Verleend)',
},
];

for (const zaak of zaken) {
test(`${zaak.title}`, () => {
const vergunning = vergunningenData.content.find(
(vergunning) => vergunning.identifier === zaak.identifier
);
expect(
getRVVSloterwegLineItems(vergunning as unknown as RVVSloterweg)
).toMatchSnapshot();
});
}
});
42 changes: 0 additions & 42 deletions src/client/pages/VergunningDetail/VergunningDetail.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -225,48 +225,6 @@ describe('<VergunningDetail />', () => {
});
});

describe('RVV Sloterweg', () => {
const zaken: Array<{ title: string; identifier: string }> = [
{
title: 'RVV ontheffing Sloterweg (Nieuw/Verleend)',
identifier: 'Z/23/98798273423',
},
{
title: 'RVV ontheffing Sloterweg (Wijziging/Ontvangen)',
identifier: 'Z/23/98989234',
},
{
title: 'RVV ontheffing Sloterweg (Wijziging/Ingetrokken)',
identifier: 'Z/23/23423409',
},
{
title: 'RVV ontheffing Sloterweg (Wijziging/Verleend)',
identifier: 'Z/23/091823087',
},
{
title: 'RVV ontheffing Sloterweg (Wijziging/Verlopen)',
identifier: 'Z/23/92222273423',
},
{
title: 'RVV ontheffing Sloterweg (Nieuw/Verlopen)',
identifier: 'Z/23/98744444423',
},
{
title: 'RVV ontheffing Sloterweg (Nieuw/Ingetrokken)',
identifier: 'Z/23/123123456',
},
];

for (const zaak of zaken) {
test(`${zaak.title}`, () => {
const { asFragment } = render(
<MockVergunningDetail identifier={zaak.identifier} />
);
expect(asFragment()).toMatchSnapshot();
});
}
});

describe('Eigen parkeerplaats', () => {
it('should match the full page snapshot', () => {
const { asFragment } = render(
Expand Down
Loading

0 comments on commit 5446dcf

Please sign in to comment.