SmartIT_Extensions/BMC/smart-it-full/test/app/asset/asset-profile-vo.spec.js

175 lines
6.8 KiB
JavaScript

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');
});
});