From 96774971def27a1f9975bcb01951e26c27b573df Mon Sep 17 00:00:00 2001 From: Kim Shepherd Date: Mon, 7 Mar 2022 11:56:08 +1300 Subject: [PATCH] [TLC-254] ITs, mocking type bind relation service --- .../form/builder/form-builder.service.spec.ts | 22 ++++++++++++++++++- src/app/shared/mocks/form-models.mock.ts | 3 ++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/app/shared/form/builder/form-builder.service.spec.ts b/src/app/shared/form/builder/form-builder.service.spec.ts index fe9d0a7bc6..254db8a539 100644 --- a/src/app/shared/form/builder/form-builder.service.spec.ts +++ b/src/app/shared/form/builder/form-builder.service.spec.ts @@ -48,12 +48,21 @@ import { DynamicConcatModel } from './ds-dynamic-form-ui/models/ds-dynamic-conca import { DynamicLookupNameModel } from './ds-dynamic-form-ui/models/lookup/dynamic-lookup-name.model'; import { DynamicRowArrayModel } from './ds-dynamic-form-ui/models/ds-dynamic-row-array-model'; import { FormRowModel } from '../../../core/config/models/config-submission-form.model'; +import {DsDynamicTypeBindRelationService} from "./ds-dynamic-form-ui/ds-dynamic-type-bind-relation.service"; describe('FormBuilderService test suite', () => { let testModel: DynamicFormControlModel[]; let testFormConfiguration: SubmissionFormsModel; let service: FormBuilderService; + let typeBindRelationService: DsDynamicTypeBindRelationService; + + function getMockDsDynamicTypeBindRelationService(): DsDynamicTypeBindRelationService { + return jasmine.createSpyObj('DsDynamicTypeBindRelationService', { + getRelatedFormModel: jasmine.createSpy('getRelatedFormModel'), + isFormControlToBeHidden: jasmine.createSpy('isFormControlToBeHidden') + }); + } const submissionId = '1234'; @@ -71,6 +80,7 @@ describe('FormBuilderService test suite', () => { imports: [ReactiveFormsModule], providers: [ { provide: FormBuilderService, useClass: FormBuilderService }, + { provide: DsDynamicTypeBindRelationService, useValue: getMockDsDynamicTypeBindRelationService() }, { provide: DynamicFormValidationService, useValue: {} }, { provide: NG_VALIDATORS, useValue: testValidator, multi: true }, { provide: NG_ASYNC_VALIDATORS, useValue: testAsyncValidator, multi: true } @@ -427,7 +437,10 @@ describe('FormBuilderService test suite', () => { } as any; }); - beforeEach(inject([FormBuilderService], (formService: FormBuilderService) => service = formService)); + beforeEach(inject([FormBuilderService, DsDynamicTypeBindRelationService], (formService: FormBuilderService, relationService: DsDynamicTypeBindRelationService) => { + service = formService; + typeBindRelationService = relationService; + })); it('should find a dynamic form control model by id', () => { @@ -878,4 +891,11 @@ describe('FormBuilderService test suite', () => { expect(formArray.length === 0).toBe(true); }); + + it('should hide on type bind', () => { + const model = service.findById('testFormArray', testModel) as DynamicFormArrayModel; + typeBindRelationService.getRelatedFormModel(model); + service.getTypeBindModel(); + }); + }); diff --git a/src/app/shared/mocks/form-models.mock.ts b/src/app/shared/mocks/form-models.mock.ts index c43138fa25..100f98caff 100644 --- a/src/app/shared/mocks/form-models.mock.ts +++ b/src/app/shared/mocks/form-models.mock.ts @@ -89,7 +89,8 @@ const rowArrayQualdropConfig = { submissionId: '1234', metadataKey: 'dc.some.key', metadataFields: ['dc.some.key'], - hasSelectableMetadata: false + hasSelectableMetadata: false, + showButtons: true } as DynamicRowArrayModelConfig; export const MockRowArrayQualdropModel: DynamicRowArrayModel = new DynamicRowArrayModel(rowArrayQualdropConfig);