UNPKG

cloudboost-tv

Version:

Database Service that does Storage, Search, Real-time and a whole lot more.

361 lines (317 loc) 12.3 kB
// To check if cloud objects are being saved properly on the server side with the default Values if not already provided with a value. describe("Setting Default Values for Cloud Object", function(){ var tableName = util.makeString(); var globalTable; before(function(done){ CB.appKey = CB.masterKey; var table = new CB.CloudTable(tableName); globalTable = table; var currDate = new Date().toString() defaults = { Text: "Default Text", Number: 56, Boolean: true, DateTime: currDate, Object: {}, EncryptedText: "ljklwej4543434", URL: "https://cloudboost.io/", Email: "test@cloudboost.io" } var columnText = new CB.Column('NameText', 'Text', true, false); columnText.defaultValue = defaults.Text; var columnNumber = new CB.Column('NameNumber', 'Number', true, false); columnNumber.defaultValue = defaults.Number; var columnBool = new CB.Column('NameBool', 'Boolean', true, false); columnBool.defaultValue = defaults.Boolean; var columnDate = new CB.Column('NameDate', 'DateTime', true, false); columnDate.defaultValue = defaults.DateTime; var columnObj = new CB.Column('NameObj', 'Object', true, false); columnObj.defaultValue = defaults.Object; var columnET = new CB.Column('NameET', 'EncryptedText', true, false); columnET.defaultValue = defaults.EncryptedText; var columnURL = new CB.Column('NameURL', 'URL', true, false); columnURL.defaultValue = defaults.URL; var columnEmail = new CB.Column('NameEmail', 'Email', true, false); columnEmail.defaultValue = defaults.Email; table.addColumn(columnText); table.addColumn(columnNumber); table.addColumn(columnBool); table.addColumn(columnDate); table.addColumn(columnObj); table.addColumn(columnET); table.addColumn(columnURL); table.addColumn(columnEmail); table.save({ success : function(table){ console.log("table created"); done(); }, error : function(error){ done(err); } }); }); it("should add the Default Value to a Text Cloumn if Column not provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.save({ success : function(obj){ if(obj.get("NameText") === defaults.Text){ done() } else { done("Not setting default Value for Text columns") } },error : function(err){ done(err) } }); }); it("should not add the Default Value to a Text Cloumn if already provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.set('NameText', "Some Value"); obj.save({ success : function(obj){ if(obj.get("NameText") === "Some Value"){ done() } else if (obj.get("NameText") === defaults.Text) { done("Setting the default value instead of the provided Value for Text columns") } else { done("Not setting the provided Value for Text columns"); } },error : function(err){ done(err) } }); }); it("should add the Default Value to a Number Column if Column not provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.save({ success : function(obj){ if(obj.get("NameNumber") === defaults.Number){ done() } else { done("Not setting default Value for Number columns") } },error : function(err){ done(err) } }); }); it("should not add the Default Value to a Number Cloumn if already provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.set('NameNumber', 47); obj.save({ success : function(obj){ if(obj.get("NameNumber") === 47){ done() } else if (obj.get("NameNumber") === defaults.Number) { done("Setting the default value instead of the provided Value for Text columns") } else { done("Not setting the provided Value for Text columns"); } },error : function(err){ done(err) } }); }); it("should add the Default Value to a Boolean Column if Column not provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.save({ success : function(obj){ if(obj.get("NameBool") === defaults.Boolean){ done() } else { done("Not setting default Value for Boolean columns") } },error : function(err){ done(err) } }); }); it("should not add the Default Value to a Boolean Cloumn if already provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.set('NameBool', false); obj.save({ success : function(obj){ if(obj.get("NameBool") === false){ done() } else if (obj.get("NameBool") === defaults.Boolean) { done("Setting the default value instead of the provided Value for Text columns") } else { done("Not setting the provided Value for Text columns"); } },error : function(err){ done(err) } }); }); it("should add the Default Value to a DateTime Column if Column not provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.save({ success : function(obj){ try{ if(new Date(obj.get("NameDate")).toLocaleDateString() == new Date(defaults.DateTime).toLocaleDateString()){ done() } else { done("Not setting default Value for Boolean columns") } } catch(e){ done("Not setting default Value for Boolean columns") } },error : function(err){ done(err) } }); }); it("should add the Default Value to a Object Column if Column not provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.save({ success : function(obj){ if(JSON.stringify(obj.get("NameObj")) === JSON.stringify(defaults.Object)){ done(); } else { done("Not setting default Value for Boolean columns") } },error : function(err){ done(err) } }); }); it("should not add the Default Value to a Object Cloumn if already provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.set('NameObj', { someKey: "someValue" }); obj.save({ success : function(obj){ if(JSON.stringify(obj.get("NameObj")) == JSON.stringify({ someKey: "someValue" })){ done() } else if (JSON.stringify(obj.get("NameObj")) == JSON.stringify(defaults.Object)) { done("Setting the default value instead of the provided Value for Text columns") } else { done("Not setting the provided Value for Object columns"); } },error : function(err){ done(err) } }); }); it("should add the Default Value to a EncryptedText Column if Column not provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.save({ success : function(obj){ console.log(obj.get("NameET")); if(obj.get("NameET") === defaults.EncryptedText){ done() } else { done("Not setting default Value for Boolean columns") } },error : function(err){ done(err) } }); }); it("should add the Default Value to a URL Column if Column not provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.save({ success : function(obj){ if(obj.get("NameURL") === defaults.URL){ done() } else { done("Not setting default Value for Boolean columns") } },error : function(err){ done(err) } }); }); it("should not add the Default Value to a URL Cloumn if already provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.set('NameURL', "http://google.com"); obj.save({ success : function(obj){ if(obj.get("NameURL") === "http://google.com"){ done() } else if (obj.get("NameURL") === defaults.URL) { done("Setting the default value instead of the provided Value for Text columns") } else { done("Not setting the provided Value for Text columns"); } },error : function(err){ done(err) } }); }); it("should add the Default Value to a Email Column if Column not provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.save({ success : function(obj){ if(obj.get("NameEmail") === defaults.Email){ done() } else { done("Not setting default Value for Boolean columns") } },error : function(err){ done(err) } }); }); it("should not add the Default Value to a Email Cloumn if already provided with a value",function(done){ this.timeout(40000); var obj = new CB.CloudObject(tableName); obj.set('NameEmail', "test@google.com"); obj.save({ success : function(obj){ if(obj.get("NameEmail") === "test@google.com"){ done() } else if (obj.get("NameEmail") === defaults.Email) { done("Setting the default value instead of the provided Value for Text columns") } else { done("Not setting the provided Value for Text columns"); } },error : function(err){ done(err) } }); }); after(function() { CB.appKey = CB.jsKey; globalTable.delete({ success : function(table){ console.log("Testing Complete") }, error : function(err){ console.log(err) } }); }); });