From 9acf972734c6a6298f3b5b0ac3326b5fb46ea015 Mon Sep 17 00:00:00 2001 From: Sofie Hofmann <29145005+sofie29@users.noreply.github.com> Date: Tue, 22 Sep 2020 10:43:15 +0200 Subject: [PATCH] TSK-1349: Added unit test for classification-tree service --- .../classification-tree.service.spec.ts | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 web/src/app/administration/services/classification-tree.service.spec.ts diff --git a/web/src/app/administration/services/classification-tree.service.spec.ts b/web/src/app/administration/services/classification-tree.service.spec.ts new file mode 100644 index 000000000..d57c13845 --- /dev/null +++ b/web/src/app/administration/services/classification-tree.service.spec.ts @@ -0,0 +1,53 @@ +import { ClassificationTreeService } from './classification-tree.service'; +import { TestBed } from '@angular/core/testing'; +import { Classification } from '../../shared/models/classification'; +import { TreeNodeModel } from '../models/tree-node'; + +describe('ClassificationTreeService', () => { + let service: ClassificationTreeService; + + beforeEach(() => { + TestBed.configureTestingModule({ providers: [ClassificationTreeService] }); + service = TestBed.inject(ClassificationTreeService); + }); + + it('transformToTreeNodes() should return treeNodeModel list sorted by key with empty children', () => { + const classifications: Classification[] = [ + { classificationId: 'ID21', key: 'KEY1' }, + { classificationId: 'ID13', key: 'KEY3' }, + { classificationId: 'ID42', key: 'KEY2' } + ]; + const expectedTreeNodes: TreeNodeModel[] = [ + { classificationId: 'ID21', key: 'KEY1', children: [] }, + { classificationId: 'ID42', key: 'KEY2', children: [] }, + { classificationId: 'ID13', key: 'KEY3', children: [] } + ]; + expect(service.transformToTreeNode(classifications)).toStrictEqual(expectedTreeNodes); + }); + + it('transformToTreeNodes() should return treeNodeModel list sorted by key with children', () => { + const classifications: Classification[] = [ + { classificationId: 'ID4', key: 'KEY4' }, + { classificationId: 'ID1', key: 'KEY1' }, + { classificationId: 'ID3', key: 'KEY3', parentId: 'ID1', parentKey: 'KEY1' }, + { classificationId: 'ID2', key: 'KEY2', parentId: 'ID3', parentKey: 'KEY3' } + ]; + const expectedTreeNodes: TreeNodeModel[] = [ + { + classificationId: 'ID1', + key: 'KEY1', + children: [ + { + classificationId: 'ID3', + key: 'KEY3', + parentId: 'ID1', + parentKey: 'KEY1', + children: [{ classificationId: 'ID2', key: 'KEY2', parentId: 'ID3', parentKey: 'KEY3', children: [] }] + } + ] + }, + { classificationId: 'ID4', key: 'KEY4', children: [] } + ]; + expect(service.transformToTreeNode(classifications)).toStrictEqual(expectedTreeNodes); + }); +});