describe('Testing Asset Profile VO', function () { var assetVo; it(' should create object and test properties ', function () { assetVo = new AssetVO(); expect(assetVo.name).toEqual(""); expect(assetVo.desc).toEqual(""); expect(assetVo.company).toEqual(null); expect(assetVo.product).toEqual(null); expect(assetVo.reconciliationId).toEqual(""); expect(assetVo.classId).toEqual(""); expect(assetVo.assetId).toEqual(""); expect(assetVo.instanceId).toEqual(""); expect(Object.keys(assetVo.site).length).toEqual(0); // testing blank object expect(assetVo.status).toEqual(null); expect(assetVo.assetExtension).toEqual(null); expect(assetVo.thumbnail).toEqual(""); expect(assetVo.thumbnailMime).toEqual(""); expect(assetVo.type).toEqual(""); expect(assetVo.subType).toEqual(""); expect(assetVo.lifecycleDates).toEqual(null); expect(assetVo.financial).toEqual(null); expect(assetVo.needsReconciliation).toEqual(false); expect(assetVo.floor).toEqual(""); expect(assetVo.room).toEqual(""); expect(assetVo.systemRole).toEqual(""); expect(assetVo.serialNumber).toEqual(""); expect(assetVo.partNumber).toEqual(""); expect(assetVo.tagNumber).toEqual(""); expect(assetVo.supplier).toEqual(null); expect(assetVo.manufacturer).toEqual(""); expect(assetVo.impact).toEqual(null); expect(assetVo.urgency).toEqual(null); expect(assetVo.priority).toEqual(null); expect(assetVo.invoiceNumber).toEqual(""); expect(assetVo.orderId).toEqual(""); expect(assetVo.submitter).toEqual(null); expect(assetVo.lastModifiedBy).toEqual(null); expect(assetVo.supplier).toEqual(null); expect(assetVo.version).toEqual(null); expect(assetVo.owner).toEqual(null); expect(assetVo.ticketType).toEqual(EntityVO.TYPE_ASSET); expect(Object.keys(assetVo.extensionAttrs).length).toEqual(0); // testing blank object expect(Object.keys(assetVo.domainAttrs).length).toEqual(0); // testing blank object expect(Object.keys(assetVo.productAttrs).length).toEqual(0); // testing blank object expect(Object.keys(assetVo.accessMappings).length).toEqual(0); // testing blank object expect(Object.keys(assetVo.poiInfo).length).toEqual(0); // testing blank object expect(assetVo.following).toEqual(false); expect(assetVo.assetType).toEqual(""); expect(Object.keys(assetVo.customFields).length).toEqual(0); // testing blank object expect(assetVo.bcmDeviceId).toEqual(null); }); it(' should test the inheritance ', function () { expect(assetVo instanceof BaseVO).toBeTruthy(); }); it(' should verify all the properties ', function () { var returnVal = assetVo.getProps(); expect(returnVal).toEqual([ 'id', 'createDate', 'name', 'desc', 'company', 'product', 'reconciliationId', 'classId', 'assetId', 'instanceId', 'site', 'status', 'assetExtension', 'thumbnail', 'thumbnailMime', 'type', 'subType', 'lifecycleDates', 'financial', 'needsReconciliation', 'floor', 'room', 'systemRole', 'serialNumber', 'partNumber', 'tagNumber', 'supplier', 'manufacturer', 'impact', 'urgency', 'priority', 'invoiceNumber', 'orderId', 'submitter', 'supplier', 'version', 'lastModifiedBy', 'owner', 'accessMappings', 'following', 'poiInfo', 'assetType', 'customFields', 'bcmDeviceId' ]); }); it(' should return site address ', function () { var returnVal = assetVo.getSiteAddress(); expect(returnVal).toEqual('undefined, undefined, undefined , undefined'); assetVo.site = { address: { street: '123 6th St.', city: 'New York City', state: 'New York', zip: '96815', country: 'US' } } var returnVal = assetVo.getSiteAddress(); expect(returnVal).toEqual('123 6th St., New York City, New York 96815, US'); }); it(' should test the post build features ', function () { assetVo.lifecycleDates = { 'date1': "111", 'date2': "222", 'date3': "333" } assetVo.postBuild(); expect(assetVo.lifecycleDates['date1']).toEqual('111'); expect(assetVo.lifecycleDates['date2']).toEqual('222'); expect(assetVo.lifecycleDates['date3']).toEqual('333'); assetVo.financial = {}; assetVo.orderId = 'ORD22316'; assetVo.invoiceNumber = 'INV33245'; assetVo.postBuild(); expect(assetVo.financial.orderId).toEqual('ORD22316'); expect(assetVo.financial.invoiceNumber).toEqual('INV33245'); assetVo.accessMappings.financialEditAllowed = false; assetVo.accessMappings = [ { id: 'financial', permission: 'write', } ]; assetVo.postBuild(); expect(assetVo.accessMappings.financialEditAllowed).toBeTruthy(); assetVo.accessMappings = [ { id: 'nonFinancial', permission: 'write', } ]; assetVo.postBuild(); expect(assetVo.accessMappings.financialEditAllowed).toBeFalsy(); expect(assetVo.accessMappings['nonFinancialEditAllowed']).toBeTruthy(); assetVo.accessMappings = [ { id: 'financial', permission: 'read', } ]; assetVo.postBuild(); expect(assetVo.accessMappings.financialEditAllowed).toBeFalsy(); assetVo.accessMappings = []; assetVo.postBuild(); expect(assetVo.accessMappings.detailsEditAllowed).toBeTruthy(); expect(assetVo.accessMappings.statusEditAllowed).toBeTruthy(); expect(assetVo.accessMappings.timelineEditAllowed).toBeTruthy(); expect(assetVo.accessMappings.relationsEditAllowed).toBeTruthy(); expect(assetVo.accessMappings.financialReadAllowed).toBeTruthy(); expect(assetVo.accessMappings.financialEditAllowed).toBeTruthy(); expect(assetVo.accessMappings.inventoryEditAllowed).toBeTruthy(); expect(assetVo.accessMappings.assetrelationsEditAllowed).toBeTruthy(); assetVo.poiInfo = { id: 'POI8876R', name: 'Test POI', thumbnail: 'POI thumbnail', thumbnailMime: 'POI thumbnailMime' }; assetVo.postBuild(); expect(assetVo.isPoi).toBeTruthy(); expect(assetVo.name).toEqual('Test POI'); expect(assetVo.reconciliationId ).toEqual('POI8876R'); expect(assetVo.classId ).toEqual('POI'); expect(assetVo.thumbnail ).toEqual('POI thumbnail'); expect(assetVo.thumbnailMime ).toEqual('POI thumbnailMime'); }); });