TSK-1349: Added unit test for classification-tree service

This commit is contained in:
Sofie Hofmann 2020-09-22 10:43:15 +02:00
parent 40f9587399
commit 9acf972734
1 changed files with 53 additions and 0 deletions

View File

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