logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['PhantomJS'],
- singleRun: true
+ singleRun: true,
+ files: [
+ '/openils/lib/javascript/md5.js',
+ '/openils/lib/javascript/JSON_v1.js',
+ '/openils/lib/javascript/opensrf.js',
+ '/openils/lib/javascript/opensrf_ws.js',
+ // mock data for testing only
+ 'src/test_data/IDL2js.js',
+ 'src/test_data/eg_mock.js',
+ ]
});
};
--- /dev/null
+import {EgIdlService} from './idl.service';
+
+describe('EgIdlService', () => {
+ let service: EgIdlService;
+ beforeEach(() => {service = new EgIdlService();});
+
+ it('should parse the IDL', () => {
+ service.parseIdl();
+ expect(service.classes['aou'].fields.length).toBeGreaterThan(0);
+ });
+
+ it('should create an aou object', () => {
+ service.parseIdl();
+ let org = service.create('aou');
+ expect(typeof org.id).toBe('function');
+ });
+
+ it('should create an aou object with accessor/mutators', () => {
+ service.parseIdl();
+ let org = service.create('aou');
+ org.name('AN ORG');
+ expect(org.name()).toBe('AN ORG');
+ });
+
+});
+
--- /dev/null
+import {EgIdlService} from './idl.service';
+import {EgEventService} from './event.service';
+import {EgNetService} from './net.service';
+import {EgAuthService} from './auth.service';
+import {EgPcrudService} from './pcrud.service';
+import {EgStoreService} from './store.service';
+import {EgOrgService} from './org.service';
+
+describe('EgOrgService', () => {
+ let idlService: EgIdlService;
+ let netService: EgNetService;
+ let authService: EgAuthService;
+ let pcrudService: EgPcrudService;
+ let orgService: EgOrgService;
+ let evtService: EgEventService;
+ let storeService: EgStoreService;
+
+ beforeEach(() => {
+ idlService = new EgIdlService();
+ evtService = new EgEventService();
+ storeService = new EgStoreService();
+ netService = new EgNetService(evtService);
+ authService = new EgAuthService(evtService, netService, storeService);
+ pcrudService = new EgPcrudService(idlService, netService, authService);
+ orgService = new EgOrgService(netService, authService, pcrudService);
+ });
+
+ const initTestData = () => {
+ idlService.parseIdl();
+ const win: any = window; // trick TS
+ win._eg_mock_data.generateOrgTree(idlService, orgService);
+ };
+
+ it('should provide get by ID', () => {
+ initTestData();
+ expect(orgService.get(orgService.tree().id())).toBe(orgService.root());
+ });
+
+ it('should provide get by node', () => {
+ initTestData();
+ expect(orgService.get(orgService.tree())).toBe(orgService.root());
+ });
+
+ it('should provide ancestors', () => {
+ initTestData();
+ expect(orgService.ancestors(2, true)).toEqual([2, 1]);
+ });
+
+ it('should provide descendants', () => {
+ initTestData();
+ expect(orgService.descendants(2, true)).toEqual([2, 4]);
+ });
+
+ it('should provide full path', () => {
+ initTestData();
+ expect(orgService.fullPath(4, true)).toEqual([4, 2, 1]);
+ });
+
+ it('should provide root', () => {
+ initTestData();
+ expect(orgService.root().id()).toEqual(1);
+ });
+
+});
+
+