/** * 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(); }); });