[TLC-254] ITs, mocking type bind relation service

This commit is contained in:
Kim Shepherd
2022-03-07 11:56:08 +13:00
parent 93d2f5d8ac
commit 96774971de
2 changed files with 23 additions and 2 deletions

View File

@@ -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();
});
});

View File

@@ -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);