Skip to content

Commit b215e9d

Browse files
RINO767RINO767
authored andcommitted
test improvements
1 parent 11a8186 commit b215e9d

File tree

3 files changed

+57
-8
lines changed

3 files changed

+57
-8
lines changed

src/app/services/cloud-data.service.spec.ts

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {TestBed, inject} from '@angular/core/testing';
1+
import {TestBed, inject, async} from '@angular/core/testing';
22

33
import {CloudDataService} from './cloud-data.service';
44
import {ApiModule, CloudService} from 'cloudiator-rest-api';
@@ -45,14 +45,16 @@ describe('CloudDataService', () => {
4545
expect(service).toBeTruthy();
4646
}));
4747

48-
it('should find correct cloud', inject([CloudDataService], (service: CloudDataService) => {
48+
it('should find correct cloud', async(inject([CloudDataService], (service: CloudDataService) => {
4949

50-
service.findCloud(testData.cloudOne.id).toPromise().then(cloud => {
51-
// expect(cloud.id).not.toBe(testData.cloudOne.id);
52-
expect(true).toBeTruthy();
50+
return service.findCloud(testData.cloudOne.id).toPromise().then(cloud => {
51+
console.log(cloud)
52+
expect(cloud.id).toEqual(testData.cloudOne.id);
53+
expect(cloud.id).not.toEqual(testData.cloudOne.id);
54+
// expect(true).toBeTruthy();
5355
});
5456

55-
}));
57+
})));
5658

5759
it('filterHardware should not error', inject([CloudDataService], (service: CloudDataService) => {
5860
expect(service.filterHardware(null, '')).toBeNull();
@@ -117,6 +119,17 @@ describe('CloudDataService', () => {
117119
}));
118120

119121
it('filterHardware should find parameter greater than', inject([CloudDataService], (service: CloudDataService) => {
122+
expect(service.filterHardware(testData.allHardware, `cloud`)).toEqual([]);
123+
expect(service.filterHardware(testData.allHardware, `cloud=`)).toEqual([]);
124+
expect(service.filterHardware(testData.allHardware, `cloud=222`)).toEqual([]);
125+
expect(service.filterHardware(testData.allHardware, `cloud=${testData.cloudTwo.id}`)).toEqual(testData.allHardware);
126+
127+
expect(service.filterHardware(testData.allHardware, `id`)).toEqual([]);
128+
expect(service.filterHardware(testData.allHardware, `id=`)).toEqual([]);
129+
expect(service.filterHardware(testData.allHardware, `id=222`)).toEqual([]);
130+
expect(service.filterHardware(testData.allHardware, `id=${testData.cloudTwo.id}`)).toEqual([]);
131+
expect(service.filterHardware(testData.allHardware, `id=${testData.hardwareOne.id}`)).toEqual([testData.hardwareOne]);
132+
120133
expect(service.filterHardware(testData.allHardware, `name>`)).toEqual([]);
121134
expect(service.filterHardware(testData.allHardware, `name> `)).toEqual([]);
122135
expect(service.filterHardware(testData.allHardware, `name>1`)).toEqual([]);
@@ -275,11 +288,27 @@ describe('CloudDataService', () => {
275288
}));
276289

277290
it('filterImages should find basic searches', inject([CloudDataService], (service: CloudDataService) => {
291+
expect(service.filterImages(testData.allImages, `cloud`)).toEqual([]);
292+
expect(service.filterImages(testData.allImages, `cloud=`)).toEqual([]);
293+
expect(service.filterImages(testData.allImages, `cloud=222`)).toEqual([]);
294+
expect(service.filterImages(testData.allImages, `cloud=${testData.cloudTwo.id}`)).toEqual(testData.allImages);
295+
296+
expect(service.filterImages(testData.allImages, `id`)).toEqual([]);
297+
expect(service.filterImages(testData.allImages, `id=`)).toEqual([]);
298+
expect(service.filterImages(testData.allImages, `id=222`)).toEqual([]);
299+
expect(service.filterImages(testData.allImages, `id=${testData.cloudTwo.id}`)).toEqual([]);
300+
expect(service.filterImages(testData.allImages, `id=${testData.imageOne.id}`)).toEqual([testData.imageOne]);
301+
278302
expect(service.filterImages(testData.allImages, ' ')).toEqual(testData.allImages);
279303
expect(service.filterImages(testData.allImages, testData.imageOne.name)).toEqual([testData.imageOne]);
280304
expect(service.filterImages(testData.allImages, '10sab')).toEqual([]);
281305
expect(service.filterImages(testData.allImages, 'not a valid search')).toEqual([]);
282306
expect(service.filterImages(testData.allImages, `${testData.imageOne.name.slice(1, 10)} ${testData.imageOne.name.slice(15, 17)}`))
283307
.toEqual([testData.imageOne]);
308+
309+
expect(service.filterImages(testData.allImages, `os=`)).toEqual([]);
310+
expect(service.filterImages(testData.allImages, `os=222`)).toEqual([]);
311+
expect(service.filterImages(testData.allImages, `os=${testData.imageThree.operatingSystem.operatingSystemFamily}`))
312+
.toEqual([testData.imageThree]);
284313
}));
285314
});

src/app/services/cloud-data.service.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ export class CloudDataService {
200200
return (curr: Hardware) => this.compareNumbers(curr.disk, operator, term);
201201
default:
202202
// default case is used when no operator is found in the search term
203+
// id is specifically excluded from this as it would cause a lot of clutter
203204
return (curr: Hardware) => {
204205
return curr.name.toLowerCase().includes(term.toLowerCase()) ||
205206
curr.cores.toString().toLowerCase().includes(term.toLowerCase()) ||
@@ -311,7 +312,7 @@ export class CloudDataService {
311312

312313
// special filter for cloud id and normal id
313314
if (terms[0] === 'cloud') {
314-
return objArray.filter(obj => !obj.id.includes(terms[1]));
315+
return objArray.filter(obj => this.findCloudId(obj.id) !== terms[1]);
315316
}
316317
if (terms[0] === 'id') {
317318
return objArray.filter(obj => obj.id !== terms[1]);

testing/test-data.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const allClouds: Cloud[] = [
1919
}
2020
},
2121
{
22-
id: '1a79a4d60de6718e8e5b326e338ae533',
22+
id: '02f7f6ab33e4a94d0f441947972668ef',
2323
endpoint: 'https://endpoint.example.com',
2424
cloudType: 'PRIVATE',
2525
api: <Api>{
@@ -61,6 +61,25 @@ export const cloudOne: Cloud = <Cloud>{
6161
}
6262
};
6363

64+
export const cloudTwo: Cloud = <Cloud>{
65+
id: '02f7f6ab33e4a94d0f441947972668ef',
66+
endpoint: 'https://endpoint.example.com',
67+
cloudType: 'PRIVATE',
68+
api: <Api>{
69+
providerName: 'openstack-nova'
70+
},
71+
credential: <CloudCredential>{
72+
user: 'tenant:username',
73+
secret: 'MeltdownVictim'
74+
},
75+
cloudConfiguration: {
76+
nodeGroup: 'cloudiator',
77+
properties: {
78+
'sword.regions': 'RegionOne, RegionTwo'
79+
}
80+
}
81+
}
82+
6483
export const hardwareOne: Hardware = <Hardware>{
6584
id: '02f7f6ab33e4a94d0f441947972668ef~RegionOne/931b887e-e747-4a66-b643-0cc5c0caa1cd',
6685
name: 'small',

0 commit comments

Comments
 (0)