1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
import {TestBed} from "@angular/core/testing";
import {WorkspaceService} from "../../../../pages/workspace/workspace.service";
import { ConnectionWizardService } from "app/ng2/pages/composition/graph/connection-wizard/connection-wizard.service";
import { ConnectRelationModel, Match, Requirement, Capability } from "app/models";
import { Mock } from "ts-mockery/dist";
describe('Connection Wizard Service', () => {
let service: ConnectionWizardService;
const connectRelationModelMock = Mock.of<ConnectRelationModel>({
possibleRelations: [
Mock.of<Match>({isFromTo: true, requirement: Mock.of<Requirement>({uniqueId: 'requirement1', capability: "cap1"}), capability: Mock.of<Capability>({uniqueId: 'capability1', type: 'othertype'})}),
Mock.of<Match>({isFromTo: true, requirement: Mock.of<Requirement>({uniqueId: 'requirement2', capability: "cap1"}), capability: Mock.of<Capability>({uniqueId: 'capability2', type: 'tosca'})}),
Mock.of<Match>({isFromTo: true, requirement: Mock.of<Requirement>({uniqueId: 'requirement3', capability: "cap1"}), capability: Mock.of<Capability>({uniqueId: 'capability3', type: 'tosca'})}),
Mock.of<Match>({isFromTo: true, requirement: Mock.of<Requirement>({uniqueId: 'requirement4', capability: "cap1"}), capability: Mock.of<Capability>({uniqueId: 'capability2', type: 'tosca'})}),
Mock.of<Match>({isFromTo: true, requirement: Mock.of<Requirement>({uniqueId: 'requirement5', capability: "cap2"}), capability: Mock.of<Capability>({uniqueId: 'capability1', type: 'tosca'})}),
Mock.of<Match>({isFromTo: false, requirement: Mock.of<Requirement>({uniqueId: 'requirement6', capability: "cap2"}), capability: Mock.of<Capability>({uniqueId: 'capability2', type: 'tosca'})}),
Mock.of<Match>({isFromTo: false, requirement: Mock.of<Requirement>({uniqueId: 'requirement7', capability: "cap2"}), capability: Mock.of<Capability>({uniqueId: 'capability1', type: 'othertype'})})
]
});
beforeEach(() => {
TestBed.configureTestingModule({
imports: [],
providers: [ConnectionWizardService,
{provide: WorkspaceService, useValue: {}}
]
});
service = TestBed.get(ConnectionWizardService);
service.connectRelationModel = connectRelationModelMock;
});
describe('getOptionalRequirementsByInstanceUniqueId', () => {
it('if no capability to match is sent in and isFromTo is true, ALL isFromTo==true requirements are returned', () => {
const requirements = service.getOptionalRequirementsByInstanceUniqueId(true);
expect(requirements['cap1'].length).toBe(4);
expect(requirements['cap2'].length).toBe(1);
});
it('if no capability to match is sent in and isFromTo is false, ALL isFromTo==false requirements are returned', () => {
const requirements = service.getOptionalRequirementsByInstanceUniqueId(false);
expect(requirements['cap1']).toBeUndefined();
expect(requirements['cap2'].length).toBe(2);
});
it('if capability to match IS sent in and isFromTo is true, matches with the same uniqueID and isFromTo==true are returned', () => {
const capability = Mock.of<Capability>({uniqueId: 'capability1'});
const requirements = service.getOptionalRequirementsByInstanceUniqueId(true, capability);
expect(requirements['cap1'].length).toBe(1);
expect(requirements['cap2'].length).toBe(1);
});
it('if capability to match IS sent in and isFromTo is false, requirements with the same uniqueID and isFromTo==false are returned', () => {
const capability = Mock.of<Capability>({uniqueId: 'capability1'});
const requirements = service.getOptionalRequirementsByInstanceUniqueId(false, capability);
expect(requirements['cap1']).toBeUndefined();
expect(requirements['cap2'].length).toBe(1);
});
})
describe('getOptionalCapabilitiesByInstanceUniqueId', () => {
it('if requirement to match IS sent in and isFromTo is true, matches with the same uniqueID and isFromTo==true are returned', () => {
const requirement = Mock.of<Requirement>({uniqueId: 'requirement1'});
const capabilities = service.getOptionalCapabilitiesByInstanceUniqueId(true, requirement);
expect(capabilities['othertype'].length).toBe(1);
expect(capabilities['tosca']).toBeUndefined();
});
it('if no requirement to match is sent in and isFromTo is true, a UNIQUE list of all capabilities with isFromTo==true are returned', () => {
const capabilities = service.getOptionalCapabilitiesByInstanceUniqueId(true);
expect(capabilities['othertype'].length).toBe(1);
expect(capabilities['tosca'].length).toBe(2);
});
it('if no requirement to match is sent in and isFromTo is false, all capabilities with isFromTo==false are returned', () => {
const capabilities = service.getOptionalCapabilitiesByInstanceUniqueId(false);
expect(capabilities['othertype'].length).toBe(1);
expect(capabilities['tosca'].length).toBe(1);
});
});
});
|