SmartIT_Extensions/BMC/smart-it-full/test/app/common/relation-item-vo.spec.js

141 lines
4.1 KiB
JavaScript

/**
* Created by mkumar1 on 18-05-2017.
*/
describe('Testing relationItem VO', function () {
var relationItemVo;
it(' should create object and test properties', function () {
relationItemVo = new RelationItemVO();
expect(relationItemVo.desc).toEqual('');
expect(relationItemVo.displayId).toEqual('');
expect(relationItemVo.parentId).toEqual('');
expect(relationItemVo.relationshipType).toEqual('');
expect(relationItemVo.tag).toEqual('');
expect(relationItemVo.type).toEqual('');
expect(relationItemVo.templateName).toEqual('');
expect(Object.keys(relationItemVo.realObject).length).toEqual(0); // testing blank object
expect(relationItemVo.visited).toEqual(false);
expect(relationItemVo.subType).toEqual('');
});
it(' should verify all the properties', function () {
var returnVal = relationItemVo.getProps();
expect(returnVal).toEqual([ 'id', 'createDate', 'desc', 'displayId', 'parentId', 'relationshipType', 'tag', 'type', 'templateName', 'realObject', 'relationshipClassId' ]);
});
it(' should test the post build features', function () {
relationItemVo.type = 'Test Random Type';
relationItemVo.postBuild();
expect(relationItemVo.type).not.toEqual('asset');
relationItemVo.type = 'Crowdsourced Asset';
relationItemVo.postBuild();
expect(relationItemVo.type).toEqual('asset');
relationItemVo.relationshipType = RelationItemVO.TYPE_POI;
relationItemVo.postBuild();
expect(relationItemVo.isAsset()).toEqual(true);
expect(relationItemVo.isPoi).toEqual(true);
relationItemVo.realObject.reconciliationId = false;
relationItemVo.realObject.poiId = "POI334476";
relationItemVo.postBuild();
expect(relationItemVo.realObject.reconciliationId).toEqual(relationItemVo.realObject.poiId);
relationItemVo.realObject.reconciliationId = true;
relationItemVo.postBuild();
expect(relationItemVo.realObject.reconciliationId).toEqual(true);
relationItemVo.realObject.isAutomatic = false
relationItemVo.postBuild();
expect(relationItemVo.subType).toEqual("");
relationItemVo.realObject.isAutomatic = true
relationItemVo.postBuild();
expect(relationItemVo.subType).toEqual("-auto");
});
it(' should return the rating value', function () {
expect(relationItemVo.getRating()).toEqual(0);
relationItemVo.realObject.useCount = 1;
relationItemVo.realObject.notUsefulCount = 0;
expect(relationItemVo.getRating()).toEqual(100);
relationItemVo.realObject.notUsefulCount = 1;
expect(relationItemVo.getRating()).toEqual(50);
});
it(' should return the Number Of Views ', function () {
expect(relationItemVo.getNumberOfViews()).toEqual(-1);
relationItemVo.realObject.viewCount = 90;
expect(relationItemVo.getNumberOfViews()).toEqual(90);
});
it(' should return the Number Of LinkedItems', function () {
expect(relationItemVo.getNumberOfLinkedItems()).toEqual(-1);
relationItemVo.realObject.linkedItems = 99;
expect(relationItemVo.getNumberOfLinkedItems()).toEqual(99);
});
it(' should return the modified date', function () {
expect(relationItemVo.getLastModifyDate()).toBeUndefined();
var testDate = relationItemVo.realObject.modifiedDate = new Date();
expect(relationItemVo.getLastModifyDate()).toEqual(testDate);
});
it(' should return the modified date', function () {
var testDate = relationItemVo.realObject.modifiedDate = new Date();
expect(relationItemVo.getLastModifyDate()).toEqual(testDate);
});
it(' should return the status val', function () {
relationItemVo.realObject.status = {'value': 'test status'};
expect(relationItemVo.getStatus()).toEqual('test status');
});
it(' should return the Assignee Full Name', function () {
relationItemVo.realObject.assignee = {'fullName': 'Allen Allbrook'};
expect(relationItemVo.getAssigneeFullName()).toEqual('Allen Allbrook');
});
it(' should return the Assignee Full Name', function () {
relationItemVo.templateName = 'Not Decision Tree';
expect(relationItemVo.isDecisionTree()).toBeFalsy();
relationItemVo.templateName = 'Decision Tree';
expect(relationItemVo.isDecisionTree()).toBeTruthy();
});
});