SmartIT_Extensions/BMC/smart-it-full/test/app/admin/screen-configuration/vo/panel-vo.spec.js

188 lines
6.2 KiB
JavaScript

/**
* Created by abhatkha on 5/8/17.
*/
//This is test suite for baseVO
describe("Test PanelVO", function() {
var panelObj
it(" should do object creation ", function() {
panelObj = new PanelVO();
expect(panelObj instanceof BaseVO).toEqual(true);
expect(panelObj instanceof PanelVO).toEqual(true);
});
it(" should do object initilization ", function() {
var panelProp= panelObj.getProps();
expect(panelProp).toEqual(['id', 'createDate', 'name', 'type', 'columnCount', 'fields']);
expect(panelObj.id).not.toBeDefined();
expect(panelObj.createDate).not.toBeDefined();
expect(panelObj.name).toEqual('');
expect(panelObj.type).toEqual('');
expect(panelObj.columnCount).toEqual(0);
expect(panelObj.fields).toEqual([]);
});
it(" should assign panels for postBuild method ", function() {
panelObj.postBuild();
expect(panelObj.shortId).toEqual('');
expect(panelObj.fields).toEqual([]);
});
it(" should return boolean for contains method ", function() {
panelObj.fields.push(new FieldVO().build({name:'test1',type: 1 }), new FieldVO().build({name:'test2',type: 2}));
expect(panelObj.contains({name:'test1'})).toBeTruthy();
expect(panelObj.contains({name:'other'})).toBeFalsy();
});
it(" should return boolean for hasAvailableSlots method ", function() {
expect(panelObj.hasAvailableSlots('test1')).toBeTruthy();
});
it(" should return boolean for addField method ", function() {
var fieldObj = new FieldVO();
panelObj.addField(fieldObj);
var fieldObj2 = new FieldVO();
fieldObj2.id = 'test123';
fieldObj2.name = 'test123';
panelObj.addField(fieldObj2);
expect(panelObj.contains(fieldObj)).toBeTruthy();
expect(panelObj.contains(fieldObj2)).toBeTruthy();
});
it(" should return boolean for removeField method ", function() {
var fieldObj1 = new FieldVO();
fieldObj1.id = 'test2017';
fieldObj1.name = 'test2017';
panelObj.addField(fieldObj1);
expect(panelObj.contains(fieldObj1)).toBeTruthy();
panelObj.removeField(fieldObj1);
expect(panelObj.contains(fieldObj1)).toBeFalsy();
panelObj.addField(fieldObj1);
var fieldObj2 = new FieldVO();
fieldObj2.id = undefined;
fieldObj2.name = undefined;
panelObj.addField(fieldObj2);
expect(panelObj.contains(fieldObj2)).toBeTruthy();
panelObj.removeField(fieldObj2);
var fieldObj3 = new FieldVO();
fieldObj3.id = undefined;
fieldObj3.name = undefined;
panelObj.removeField(fieldObj3);
expect(panelObj.contains(fieldObj2)).toBeFalsy();
});
it(" should return boolean for removeFieldFromGroup method ", function() {
var fieldObj1 = new FieldVO();
fieldObj1.id = 'test2017';
fieldObj1.name = 'test2017';
fieldObj1.type = FieldVO.prototype.GROUP_FIELD;
panelObj.addField(fieldObj1);
expect(panelObj.contains(fieldObj1)).toBeTruthy();
panelObj.removeFieldFromGroup(fieldObj1);
expect(panelObj.contains(fieldObj1)).toBeTruthy();
var fieldObj2 = new FieldVO();
fieldObj2.id = undefined;
fieldObj2.name = undefined;
panelObj.addField(fieldObj2);
expect(panelObj.contains(fieldObj1)).toBeTruthy();
panelObj.removeFieldFromGroup(fieldObj2);
expect(panelObj.contains(fieldObj2)).toBeTruthy();
});
it(" should return boolean for isValid method ", function() {
var fieldObj1 = new FieldVO();
fieldObj1.id = 'test2017';
fieldObj1.name = 'test2017';
panelObj.fields = [{isValid:function(){return true;}}]
expect(panelObj.isValid()).toBeTruthy();
});
it(" should return boolean for initFields method ", function() {
var fieldObj1 = new FieldVO();
fieldObj1.id = 'test2017';
fieldObj1.name = 'test2017';
fieldObj1.extension = [{classId:"class123", linkedFieldExist:true},{classId:"class456", linkedFieldExist:false}];
fieldObj1.members = [{classId:"class123", linkedFieldExist:true},{classId:"class456", linkedFieldExist:false}];
panelObj.shortId = "typeSpecific";
panelObj.classId = "class123";
panelObj.field = {extension:[{classId:"class123", linkedFieldExist:true},{classId:"class456", linkedFieldExist:false}]};
panelObj.fields = [fieldObj1];
var fieldDictonary = {'test2017':{label:'test2017', isSealed:function(){ return true;}}};
panelObj.initFields(fieldDictonary);
panelObj.postBuild();
panelObj.shortId = "other";
fieldDictonary = {'test2016':{label:'test2017', isSealed:function(){ return true;}}};
panelObj.initFields(fieldDictonary);
});
it(" should return boolean for initValueFieldNames method ", function() {
var fieldObj1 = new FieldVO();
fieldObj1.id = 'test2016';
fieldObj1.name = 'test2016';
fieldObj1.linkedFieldExist = false;
panelObj.fields.push(fieldObj1);
var valueFieldNames= {'test1':'test1','test2':'test2','test3':'test3'};
panelObj.linkedFieldExist = true;
panelObj.initValueFieldNames(valueFieldNames);
panelObj.linkedFieldExist = true;
panelObj.initValueFieldNames(valueFieldNames);
fieldDictonary = {'test2016':{label:'test2017', isSealed:function(){ return true;}}};
panelObj.shortId = "typeSpecific";
panelObj.classId = "class000";
panelObj.initFields(fieldDictonary);
});
it(" should return boolean for hasCustomFields method ", function() {
expect(panelObj.hasCustomFields()).toBeDefined();
expect(panelObj.hasCustomFields()).toEqual(0);
});
});