import {DatacardStatusPipe} from './datacard-status.pipe'; import {TestBed} from '@angular/core/testing'; import {DataCardService} from '../api/data-card.service'; import {of} from 'rxjs'; import {DataCard} from '@nspop/gm-web-facade-api'; describe('DatacardStatusPipe', () => { beforeEach(async () => { await TestBed.configureTestingModule({ declarations: [DatacardStatusPipe], providers: [{provide: DataCardService, useValue: {isDataCardClosed: of(false)}}] }) .compileComponents(); }); it('create an instance', () => { const pipe = new DatacardStatusPipe('da'); expect(pipe).toBeTruthy(); }); it('formats correct status for closed datacard with date', () => { const pipe = new DatacardStatusPipe('da'); const date = new Date(Date.parse('01-01-2020 00:00:00')); const datacard: DataCard = { documentStatus: 'CLOSED', closeDateTime: date, episodeOfCareIdentifier: '', recordTarget: { name: { lastName: '', firstNames: [], middleNames: [] }, identifier: '' } }; expect(pipe.transform(datacard)).toEqual('Afsluttet (d. 01.01.2020)'); }); it('formats correct status for closed datacard with no date', () => { const pipe = new DatacardStatusPipe('da'); const datacard: DataCard = { documentStatus: 'ACTIVE', closeDateTime: undefined, episodeOfCareIdentifier: '', recordTarget: { name: { lastName: '', firstNames: [], middleNames: [] }, identifier: '' } }; expect(pipe.transform(datacard)).toEqual('Igangværende'); }); it('formats correct status for active datacard with date', () => { const pipe = new DatacardStatusPipe('da'); const date = new Date(Date.parse('01-01-2020 00:00:00')); const datacard: DataCard = { documentStatus: 'ACTIVE', closeDateTime: undefined, expectedDateOfDeliverySection: { expectedDateOfDeliveryFromLastPeriod: { expectedDateOfDelivery: date}, trimester: 1, monthsIntoPregnancy: 3 }, episodeOfCareIdentifier: '', recordTarget: { name: { lastName: '', firstNames: [], middleNames: [] }, identifier: '' } }; expect(pipe.transform(datacard)).toEqual('Igangværende (termin d. 01.01.2020)'); }); });