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