diff options
Diffstat (limited to 'includes/js/dojox/rpc/tests/stores')
-rw-r--r-- | includes/js/dojox/rpc/tests/stores/JsonRestStore.js | 237 |
1 files changed, 0 insertions, 237 deletions
diff --git a/includes/js/dojox/rpc/tests/stores/JsonRestStore.js b/includes/js/dojox/rpc/tests/stores/JsonRestStore.js deleted file mode 100644 index 25e0fc7..0000000 --- a/includes/js/dojox/rpc/tests/stores/JsonRestStore.js +++ /dev/null @@ -1,237 +0,0 @@ -if(!dojo._hasResource["dojox.data.tests.stores.JsonRestStore"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojox.data.tests.stores.JsonRestStore"] = true; -dojo.provide("dojox.data.tests.stores.JsonRestStore"); -dojo.require("dojox.data.JsonRestStore"); -dojo.require("dojo.data.api.Read"); -dojo.require("dojox.rpc.Service"); - -dojox.data.tests.stores.JsonRestStore.error = function(t, d, errData){ - // summary: - // The error callback function to be used for all of the tests. - d.errback(errData); -} -var testServices = new dojox.rpc.Service(dojo.moduleUrl("dojox.rpc.tests.resources", "test.smd")); -var jsonStore = new dojox.data.JsonRestStore({service:testServices.jsonRestStore}); - -doh.register("dojox.data.tests.stores.JsonRestStore", - [ - { - name: "Fetch some items", - timeout: 10000, //10 seconds. - runTest: function(t) { - // summary: - // Simple test of a basic fetch on JsonRestStore of a simple query. - var d = new doh.Deferred(); - jsonStore.fetch({query:"query", - onComplete: function(items, request){ - t.is(4, items.length); - d.callback(true); - }, - onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)}); - return d; //Object - } - }, - { - name: "fetch by id", - timeout: 10000, //10 seconds. - runTest: function(t) { - // summary: - // Simple test of a basic fetch on JsonRestStore of a single item. - var d = new doh.Deferred(); - jsonStore.fetch({query:"obj1", - onComplete: function(item, request){ - t.is("Object 1", item.name); - t.t(jsonStore.hasAttribute(item,"name")); - t.is(jsonStore.getValues(item,"name").length,1); - t.t(jsonStore.isItem(item)); - d.callback(true); - }, - onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)}); - return d; //Object - } - }, - { - name: "Modify,save, check by id", - timeout: 10000, //10 seconds. - runTest: function(t) { - // summary: - // Fetch an item from a query, modify and save it, and check to see if it was modified correctly - var d = new doh.Deferred(); - jsonStore.fetch({query:"query", - onComplete: function(items, request){ - var now = new Date().getTime(); - jsonStore.setValue(items[0],"updated",now); - jsonStore.setValue(items[0],"obj",{foo:'bar'}); - jsonStore.setValue(items[0],"obj dup",items[0].obj); - jsonStore.setValue(items[0],"testArray",[1,2,3,4]); - jsonStore.save(); - jsonStore.fetch({query:"obj1", - onComplete: function(item, request){ - t.is("Object 1", item.name); - t.is(now, item.updated); - t.is("bar", item.obj.foo); - t.is(item.obj, item['obj dup']); - d.callback(true); - }, - onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)}); - }, - onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)}); - return d; //Object - } - }, - { - name: "Post, delete, and put", - timeout: 10000, //10 seconds. - runTest: function(t) { - // summary: - // append/post an item, delete it, sort the lists, resort the list, saving each time. - var d = new doh.Deferred(); - jsonStore.fetch({query:"obj1", - onComplete: function(item, request){ - var now = new Date().getTime(); - var testArray = item.testArray; - var newObject = {"name":"new object"}; - testArray.push(newObject); - jsonStore.save(); - jsonStore.deleteItem(newObject,{parent:testArray}); - jsonStore.save(); - testArray.sort(function(obj1,obj2) { return obj1 < obj2; }); - jsonStore.save(); - testArray.sort(function(obj1,obj2) { return obj1 > obj2; }); - jsonStore.save(); - d.callback(true); - }, - onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)}); - return d; //Object - } - }, - { - name: "Revert", - timeout: 10000, //10 seconds. - runTest: function(t) { - // summary: - // append/post an item, delete it, sort the lists, resort the list, saving each time. - var d = new doh.Deferred(); - jsonStore.fetch({query:"obj1", - onComplete: function(item, request){ - jsonStore.setValue(item,"name","new name"); - jsonStore.setValue(item,"newProp","new value"); - jsonStore.unsetAttribute(item,"updated"); - t.is(jsonStore.getValue(item,"name"),"new name"); - t.is(jsonStore.getValue(item,"newProp"),"new value"); - t.is(jsonStore.getValue(item,"updated"),undefined); - jsonStore.revert(); - t.is(jsonStore.getValue(item,"name"),"Object 1"); - t.is(jsonStore.getValue(item,"newProp"),undefined); - t.t(typeof jsonStore.getValue(item,"updated") == 'number'); - d.callback(true); - }, - onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)}); - return d; //Object - } - }, - { - name: "Lazy loading", - timeout: 10000, //10 seconds. - runTest: function(t) { - // summary: - // test lazy loading - var d = new doh.Deferred(); - jsonStore.fetch({query:"query", - onComplete: function(items, request){ - /*var item = jsonStore.getValue(items,2); // sync lazy loading - t.is(item.name == 'Object 3');*/ - jsonStore.getValue(items,3,function(item) { // async lazy loading - t.is(item.name,'Object 4'); - d.callback(true); - }); - }, - onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)}); - return d; //Object - } - }, - { - name: "Array manipulation", - timeout: 10000, //10 seconds. - runTest: function(t) { - // summary: - // test array manipulation - var d = new doh.Deferred(); - jsonStore.fetch({query:"obj1", - onComplete: function(item, request){ - var testArray = item.testArray; - testArray.reverse(); - testArray.unshift(testArray.pop()); - jsonStore.onSave = function(data) { - t.is(data.length,1); - d.callback(true); - jsonStore.onSave = function(){}; - }; - jsonStore.save(); - }, - onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, doh, d)}); - return d; //Object - } - }, - - { - name: "ReadAPI: Fetch_20_Streaming", - timeout: 10000, //10 seconds. Json can sometimes be slow. - runTest: function(t) { - // summary: - // fetching with paging - - var d = new doh.Deferred(); - var count = 0; - - function onItem(item, requestObj){ - t.assertTrue(typeof item == 'number'); - count++; - } - function onComplete(items, request){ - t.is(5, count); - - t.is(null, items); - d.callback(true); - } - //Get everything... - jsonStore.fetch({ - query: "bigQuery", - onBegin: null, - count: 5, - onItem: onItem, - onComplete: onComplete, - onError: dojo.partial(dojox.data.tests.stores.JsonRestStore.error, t, d) - }); - return d; //Object - } - }, - function testReadAPI_functionConformance(t){ - // summary: - // Simple test read API conformance. Checks to see all declared functions are actual functions on the instances. - // description: - // Simple test read API conformance. Checks to see all declared functions are actual functions on the instances. - - var readApi = new dojo.data.api.Read(); - var passed = true; - - for(i in readApi){ - if(i.toString().charAt(0) !== '_') - { - var member = readApi[i]; - //Check that all the 'Read' defined functions exist on the test store. - if(typeof member === "function"){ - var testStoreMember = jsonStore [i]; - if(!(typeof testStoreMember === "function")){ - passed = false; - break; - } - } - } - } - } - ] -); - - -} |