LP1840050 IDL pkeyMatches function/tests
[working/Evergreen.git] / Open-ILS / src / eg2 / src / app / core / idl.spec.ts
1 import {IdlService} from './idl.service';
2
3 describe('IdlService', () => {
4     let service: IdlService;
5     beforeEach(() => {
6         service = new IdlService();
7     });
8
9     it('should parse the IDL', () => {
10         service.parseIdl();
11         expect(service.classes['aou'].fields.length).toBeGreaterThan(0);
12     });
13
14     it('should create an aou object', () => {
15         service.parseIdl();
16         const org = service.create('aou');
17         expect(typeof org.id).toBe('function');
18     });
19
20     it('should create an aou object with accessor/mutators', () => {
21         service.parseIdl();
22         const org = service.create('aou');
23         org.name('AN ORG');
24         expect(org.name()).toBe('AN ORG');
25     });
26
27     it('should correctly compare IDL pkey values', () => {
28         service.parseIdl();
29         const org1 = service.create('aou');
30         const org2 = service.create('aou');
31         org1.id(123);
32         org2.id(123);
33         expect(service.pkeyMatches(org1, org2)).toBe(true);
34     });
35
36     it('should correctly compare IDL pkey values', () => {
37         service.parseIdl();
38         const org1 = service.create('aou');
39         const org2 = service.create('aou');
40         org1.id(123);
41         org2.id(456);
42         expect(service.pkeyMatches(org1, org2)).toBe(false);
43     });
44
45     it('should correctly compare IDL classes in pkey match', () => {
46         service.parseIdl();
47         const org = service.create('aou');
48         const user = service.create('au');
49         org.id(123);
50         user.id(123);
51         expect(service.pkeyMatches(org, user)).toBe(false);
52     });
53
54
55 });
56