You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by ca...@apache.org on 2011/10/10 20:38:09 UTC
svn commit: r1181124 [2/2] - in /incubator/rave/trunk:
rave-components/rave-core/src/main/java/org/apache/rave/portal/service/
rave-components/rave-core/src/main/java/org/apache/rave/portal/service/impl/
rave-components/rave-core/src/test/java/org/apac...
Modified: incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveApiSpec.js
URL: http://svn.apache.org/viewvc/incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveApiSpec.js?rev=1181124&r1=1181123&r2=1181124&view=diff
==============================================================================
--- incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveApiSpec.js (original)
+++ incubator/rave/trunk/rave-portal-resources/src/test/javascript/raveApiSpec.js Mon Oct 10 18:38:08 2011
@@ -1,318 +1,338 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-describe("Rave API", function() {
- //create a mock jquery object so we can hang mock functions off of it as needed
- $ = {};
-
- describe("rest", function() {
- describe("saveWidgetPreferences", function() {
- it("PUTs correct values to the REST service for saving widget preferences", function() {
- //add a mock for the jquery ajax function to the mock jquery object
- //this mock function will end up getting called when the saveWidgetPreferences we're testing makes its
- //ajax call by executing $.ajax({ ... }); - and when that happens it will end up running this implementation
- //of $.ajax() which in turn sets up a bunch of expectations for jasmine to verify at the end of the test
- $.ajax = function(args) {
- expect(args.url).toEqual("api/rest/regionWidgets/1/preferences");
- var userPrefs = JSON.parse(args.data).preferences;
- expect(userPrefs.length).toEqual(2);
- var foundColorPref = false;
- var foundSpeedPref = false;
- for (var i = 0; i < userPrefs.length; i++) {
- var userPref = userPrefs[i];
- if (userPref.name == "color" && userPref.value == "blue") {
- foundColorPref = true;
- } else if (userPref.name == "speed" && userPref.value == "fast") {
- foundSpeedPref = true;
- }
- }
- expect(foundColorPref).toBeTruthy();
- expect(foundSpeedPref).toBeTruthy();
-
- expect(typeof(callback)).toEqual("function");
- callback({error:false});
- return {
- error: function(a, b, c) {
- }
- }
- };
-
- var callbackCalled = false;
- var callback = function() {
- callbackCalled = true
- };
- rave.api.rest.saveWidgetPreferences({regionWidgetId:1, userPrefs:{"color":"blue", "speed":"fast"},
- successCallback: callback});
- expect(callbackCalled).toBeTruthy();
- });
- });
-
- describe("saveWidgetPreference", function() {
- it("PUTs correct values to the REST service for saving one widget preference", function() {
- $.ajax = function(args) {
- expect(args.url).toEqual("api/rest/regionWidgets/1/preferences/firstname");
- var userPref = JSON.parse(args.data);
- expect(userPref.name).toEqual("firstname");
- expect(userPref.value).toEqual("Tony");
-
- expect(typeof(callback)).toEqual("function");
- callback({error:false});
- return {
- error: function(a, b, c) {
- }
- }
- };
-
- var callbackCalled = false;
- var callback = function() {
- callbackCalled = true
- };
-
- rave.api.rest.saveWidgetPreference({regionWidgetId: 1, userPref: {prefName: "firstname", prefValue: "Tony"},
- successCallback: callback});
- expect(callbackCalled).toBeTruthy();
- });
- });
-
- describe("saveWidgetCollapsedState", function() {
- it("PUTs correct values to the REST service for saving the collapsed state of a widget", function() {
-
- $.ajax = function(args) {
- expect(args.url).toEqual("api/rest/regionWidgets/7/collapsed");
- expect(JSON.parse(args.data)).toEqual(true);
- expect(typeof(callback)).toEqual("function");
- callback({error:false});
- return {
- error: function(a, b, c) {
- }
- }
- };
-
- var callbackCalled = false;
- var callback = function() {
- callbackCalled = true
- };
-
- rave.api.rest.saveWidgetCollapsedState({regionWidgetId: 7,
- collapsed: true,
- successCallback: callback});
- expect(callbackCalled).toBeTruthy();
- });
- });
-
- describe("deletePage", function() {
- it("DELETEs the correct Page using the REST service", function() {
- $.ajax = function(args) {
- expect(args.url).toEqual("api/rest/page/9");
- expect(typeof(callback)).toEqual("function");
- callback({error:false});
- return {
- error: function(a, b, c) {
- }
- }
- };
-
- var callbackCalled = false;
- var callback = function() {
- callbackCalled = true
- };
-
- rave.api.rest.deletePage({pageId: 9, successCallback: callback});
- expect(callbackCalled).toBeTruthy();
- });
- });
- });
-
- describe("rpc", function() {
- describe("addWidgetToPage", function() {
- it("posts the correct values to RPC service for adding a widget to the page", function() {
-
- $.post = function(url, data, callback) {
- expect(url).toEqual("api/rpc/page/1/widget/add");
- expect(data.widgetId).toEqual(2);
- expect(typeof(callback)).toEqual("function");
- return {
- error: function(a, b, c) {
- }
- }
- };
- rave.api.rpc.addWidgetToPage({pageId: 1, widgetId: 2});
- });
- });
-
- describe("moveWidget", function() {
- it("posts the correct values to RPC service for adding a widget to the page", function() {
-
- $.post = function(url, data, callback) {
- expect(url).toEqual("api/rpc/page/regionWidget/3/move");
- expect(data.toRegion).toEqual("1");
- expect(data.fromRegion).toEqual("2");
- expect(data.newPosition).toEqual(3);
- expect(typeof(callback)).toEqual("function");
- return {
- error: function(a, b, c) {
- }
- }
- };
- rave.api.rpc.moveWidget({targetRegion: {id:"region-1"}, currentRegion: {id:"region-2"}, targetIndex: 3, widget:{id:"widget-3-body"}});
- });
- });
-
- describe("deleteWidget", function() {
- it("posts correct values to the RPC service for deleting a widget from the page", function() {
- var callbackCalled = false;
- $.post = function(url, data, callback) {
- expect(url).toEqual("api/rpc/page/regionWidget/1/delete");
- expect(typeof(callback)).toEqual("function");
- callback({error:false});
- return {
- error: function(a, b, c) {
- }
- }
- };
- var callback = function() {
- callbackCalled = true
- };
- rave.api.rpc.removeWidget({regionWidgetId : 1, successCallback: callback});
- expect(callbackCalled).toBeTruthy();
- });
-
- });
-
- describe("addPage", function() {
- it("posts the correct values to RPC service for adding a new page", function() {
-
- var newPageName = "my new page";
- var newPageLayoutCode = "layout1";
-
- $.post = function(url, data, callback) {
- expect(url).toEqual("api/rpc/page/add");
- expect(data.pageName).toEqual(newPageName);
- expect(data.pageLayoutCode).toEqual(newPageLayoutCode);
- expect(typeof(callback)).toEqual("function");
- return {
- error: function(a, b, c) {
- }
- }
- };
- rave.api.rpc.addPage({pageName: newPageName, pageLayoutCode: newPageLayoutCode});
- });
- });
-
- describe("movePage", function() {
- it("posts the correct values to RPC service for moving a page", function() {
- var pageId = 7;
- var moveAfterPageId = 29;
-
- $.post = function(url, data, callback) {
- expect(url).toEqual("api/rpc/page/" + pageId + "/move");
- expect(data.moveAfterPageId).toEqual(moveAfterPageId);
- expect(typeof(callback)).toEqual("function");
- return {
- error: function(a, b, c) {
- }
- }
- };
- rave.api.rpc.movePage({pageId: pageId, moveAfterPageId: moveAfterPageId});
- });
- });
-
- describe("getPagePrefs", function() {
- it("gets the correct metadata for a page", function() {
- var callbackCalled = false;
- var pageId = 73;
- $.get = function(url, data, callback) {
- expect(url).toEqual("api/rpc/page/get?pageId=" + pageId);
- expect(typeof(callback)).toEqual("function");
- callback({error:false});
- return {
- error: function(a, b, c) {
- }
- }
- };
- var callback = function() {
- callbackCalled = true;
- };
- rave.api.rpc.getPagePrefs({pageId: pageId, successCallback: callback});
- expect(callbackCalled).toBeTruthy();
- });
- });
-
- describe("updatePagePrefs", function() {
- it("posts the correct values to RPC service for updating page metadata", function() {
- var pageId = 7;
- var newTitle = "New Title";
- var newLayout = "1_column";
- var callbackCalled = false;
-
- $.post = function(url, data, callback) {
- expect(url).toEqual("api/rpc/page/" + pageId + "/update");
- expect(data.name).toEqual(newTitle);
- expect(data.layout).toEqual(newLayout);
- expect(typeof(callback)).toEqual("function");
- callback({error:false});
- return {
- error: function(a, b, c) {
- }
- }
- };
- var callback = function() {
- callbackCalled = true;
- };
- rave.api.rpc.updatePagePrefs({pageId: pageId, title: newTitle, layout: newLayout, successCallback: callback});
- expect(callbackCalled).toBeTruthy();
- });
- });
-
- describe("Error handling", function() {
- it("displays the appropriate alert when invalid parameters are passed", function() {
-
- $.post = function(url, data, handler) {
- handler({error: true, errorCode: "INVALID_PARAMS"});
- return {
- error: function(a, b, c) {
- }
- }
- };
- alert = function(str) {
- expect(str).toEqual("Rave attempted to update the server with your recent changes, " +
- " but the changes were rejected by the server as invalid.");
- };
- rave.api.rpc.moveWidget({targetRegion: {id:"region-1"}, currentRegion: {id:"region-2"}, targetIndex: 3, widget:{id:"widget-3-body"}});
-
- });
-
- it("displays the appropriate alert when a server error occurs", function() {
-
- $.post = function(url, data, handler) {
- handler({error: true, errorCode: "INTERNAL_ERROR"});
- return {
- error: function(a, b, c) {
- }
- }
- };
- alert = function(str) {
- expect(str).toEqual("Rave attempted to update the server with your recent changes, " +
- " but the server encountered an internal error.");
- };
- rave.api.rpc.moveWidget({targetRegion: {id:"region-1"}, currentRegion: {id:"region-2"}, targetIndex: 3, widget:{id:"widget-3-body"}});
- });
- });
- });
-
-});
\ No newline at end of file
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+describe("Rave API", function() {
+ //create a mock jquery object so we can hang mock functions off of it as needed
+ $ = {};
+
+ describe("rest", function() {
+ describe("saveWidgetPreferences", function() {
+ it("PUTs correct values to the REST service for saving widget preferences", function() {
+ //add a mock for the jquery ajax function to the mock jquery object
+ //this mock function will end up getting called when the saveWidgetPreferences we're testing makes its
+ //ajax call by executing $.ajax({ ... }); - and when that happens it will end up running this implementation
+ //of $.ajax() which in turn sets up a bunch of expectations for jasmine to verify at the end of the test
+ $.ajax = function(args) {
+ expect(args.url).toEqual("api/rest/regionWidgets/1/preferences");
+ var userPrefs = JSON.parse(args.data).preferences;
+ expect(userPrefs.length).toEqual(2);
+ var foundColorPref = false;
+ var foundSpeedPref = false;
+ for (var i = 0; i < userPrefs.length; i++) {
+ var userPref = userPrefs[i];
+ if (userPref.name == "color" && userPref.value == "blue") {
+ foundColorPref = true;
+ } else if (userPref.name == "speed" && userPref.value == "fast") {
+ foundSpeedPref = true;
+ }
+ }
+ expect(foundColorPref).toBeTruthy();
+ expect(foundSpeedPref).toBeTruthy();
+
+ expect(typeof(callback)).toEqual("function");
+ callback({error:false});
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+
+ var callbackCalled = false;
+ var callback = function() {
+ callbackCalled = true
+ };
+ rave.api.rest.saveWidgetPreferences({regionWidgetId:1, userPrefs:{"color":"blue", "speed":"fast"},
+ successCallback: callback});
+ expect(callbackCalled).toBeTruthy();
+ });
+ });
+
+ describe("saveWidgetPreference", function() {
+ it("PUTs correct values to the REST service for saving one widget preference", function() {
+ $.ajax = function(args) {
+ expect(args.url).toEqual("api/rest/regionWidgets/1/preferences/firstname");
+ var userPref = JSON.parse(args.data);
+ expect(userPref.name).toEqual("firstname");
+ expect(userPref.value).toEqual("Tony");
+
+ expect(typeof(callback)).toEqual("function");
+ callback({error:false});
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+
+ var callbackCalled = false;
+ var callback = function() {
+ callbackCalled = true
+ };
+
+ rave.api.rest.saveWidgetPreference({regionWidgetId: 1, userPref: {prefName: "firstname", prefValue: "Tony"},
+ successCallback: callback});
+ expect(callbackCalled).toBeTruthy();
+ });
+ });
+
+ describe("saveWidgetCollapsedState", function() {
+ it("PUTs correct values to the REST service for saving the collapsed state of a widget", function() {
+
+ $.ajax = function(args) {
+ expect(args.url).toEqual("api/rest/regionWidgets/7/collapsed");
+ expect(JSON.parse(args.data)).toEqual(true);
+ expect(typeof(callback)).toEqual("function");
+ callback({error:false});
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+
+ var callbackCalled = false;
+ var callback = function() {
+ callbackCalled = true
+ };
+
+ rave.api.rest.saveWidgetCollapsedState({regionWidgetId: 7,
+ collapsed: true,
+ successCallback: callback});
+ expect(callbackCalled).toBeTruthy();
+ });
+ });
+
+ describe("deletePage", function() {
+ it("DELETEs the correct Page using the REST service", function() {
+ $.ajax = function(args) {
+ expect(args.url).toEqual("api/rest/page/9");
+ expect(typeof(callback)).toEqual("function");
+ callback({error:false});
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+
+ var callbackCalled = false;
+ var callback = function() {
+ callbackCalled = true
+ };
+
+ rave.api.rest.deletePage({pageId: 9, successCallback: callback});
+ expect(callbackCalled).toBeTruthy();
+ });
+ });
+ });
+
+ describe("rpc", function() {
+ describe("addWidgetToPage", function() {
+ it("posts the correct values to RPC service for adding a widget to the page", function() {
+
+ $.post = function(url, data, callback) {
+ expect(url).toEqual("api/rpc/page/1/widget/add");
+ expect(data.widgetId).toEqual(2);
+ expect(typeof(callback)).toEqual("function");
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+ rave.api.rpc.addWidgetToPage({pageId: 1, widgetId: 2});
+ });
+ });
+
+ describe("moveWidget", function() {
+ it("posts the correct values to RPC service for adding a widget to the page", function() {
+
+ $.post = function(url, data, callback) {
+ expect(url).toEqual("api/rpc/page/regionWidget/3/move");
+ expect(data.toRegion).toEqual("1");
+ expect(data.fromRegion).toEqual("2");
+ expect(data.newPosition).toEqual(3);
+ expect(typeof(callback)).toEqual("function");
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+ rave.api.rpc.moveWidget({targetRegion: {id:"region-1"}, currentRegion: {id:"region-2"}, targetIndex: 3, widget:{id:"widget-3-body"}});
+ });
+ });
+
+ describe("deleteWidget", function() {
+ it("posts correct values to the RPC service for deleting a widget from the page", function() {
+ var callbackCalled = false;
+ $.post = function(url, data, callback) {
+ expect(url).toEqual("api/rpc/page/regionWidget/1/delete");
+ expect(typeof(callback)).toEqual("function");
+ callback({error:false});
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+ var callback = function() {
+ callbackCalled = true
+ };
+ rave.api.rpc.removeWidget({regionWidgetId : 1, successCallback: callback});
+ expect(callbackCalled).toBeTruthy();
+ });
+
+ });
+
+ describe("addPage", function() {
+ it("posts the correct values to RPC service for adding a new page", function() {
+
+ var newPageName = "my new page";
+ var newPageLayoutCode = "layout1";
+
+ $.post = function(url, data, callback) {
+ expect(url).toEqual("api/rpc/page/add");
+ expect(data.pageName).toEqual(newPageName);
+ expect(data.pageLayoutCode).toEqual(newPageLayoutCode);
+ expect(typeof(callback)).toEqual("function");
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+ rave.api.rpc.addPage({pageName: newPageName, pageLayoutCode: newPageLayoutCode});
+ });
+ });
+
+ describe("movePage", function() {
+ it("posts the correct values to RPC service for moving a page", function() {
+ var pageId = 7;
+ var moveAfterPageId = 29;
+
+ $.post = function(url, data, callback) {
+ expect(url).toEqual("api/rpc/page/" + pageId + "/move");
+ expect(data.moveAfterPageId).toEqual(moveAfterPageId);
+ expect(typeof(callback)).toEqual("function");
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+ rave.api.rpc.movePage({pageId: pageId, moveAfterPageId: moveAfterPageId});
+ });
+ });
+
+ describe("moveWidgetToPage", function() {
+ it("posts the correct values to RPC service for moving a widget to a different page", function() {
+ var currentPageId = 7;
+ var toPageId = 8;
+ var regionWidgetId = 10;
+
+ $.post = function(url, data, callback) {
+ expect(url).toEqual("api/rpc/page/" + toPageId + "/moveWidget");
+ expect(data.toPageId).toEqual(toPageId);
+ expect(data.regionWidgetId).toEqual(regionWidgetId);
+ expect(typeof(callback)).toEqual("function");
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+ rave.api.rpc.moveWidgetToPage({toPageId: toPageId, regionWidgetId:regionWidgetId});
+ });
+ });
+
+ describe("getPagePrefs", function() {
+ it("gets the correct metadata for a page", function() {
+ var callbackCalled = false;
+ var pageId = 73;
+ $.get = function(url, data, callback) {
+ expect(url).toEqual("api/rpc/page/get?pageId=" + pageId);
+ expect(typeof(callback)).toEqual("function");
+ callback({error:false});
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+ var callback = function() {
+ callbackCalled = true;
+ };
+ rave.api.rpc.getPagePrefs({pageId: pageId, successCallback: callback});
+ expect(callbackCalled).toBeTruthy();
+ });
+ });
+
+ describe("updatePagePrefs", function() {
+ it("posts the correct values to RPC service for updating page metadata", function() {
+ var pageId = 7;
+ var newTitle = "New Title";
+ var newLayout = "1_column";
+ var callbackCalled = false;
+
+ $.post = function(url, data, callback) {
+ expect(url).toEqual("api/rpc/page/" + pageId + "/update");
+ expect(data.name).toEqual(newTitle);
+ expect(data.layout).toEqual(newLayout);
+ expect(typeof(callback)).toEqual("function");
+ callback({error:false});
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+ var callback = function() {
+ callbackCalled = true;
+ };
+ rave.api.rpc.updatePagePrefs({pageId: pageId, title: newTitle, layout: newLayout, successCallback: callback});
+ expect(callbackCalled).toBeTruthy();
+ });
+ });
+
+ describe("Error handling", function() {
+ it("displays the appropriate alert when invalid parameters are passed", function() {
+
+ $.post = function(url, data, handler) {
+ handler({error: true, errorCode: "INVALID_PARAMS"});
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+ alert = function(str) {
+ expect(str).toEqual("Rave attempted to update the server with your recent changes, " +
+ " but the changes were rejected by the server as invalid.");
+ };
+ rave.api.rpc.moveWidget({targetRegion: {id:"region-1"}, currentRegion: {id:"region-2"}, targetIndex: 3, widget:{id:"widget-3-body"}});
+
+ });
+
+ it("displays the appropriate alert when a server error occurs", function() {
+
+ $.post = function(url, data, handler) {
+ handler({error: true, errorCode: "INTERNAL_ERROR"});
+ return {
+ error: function(a, b, c) {
+ }
+ }
+ };
+ alert = function(str) {
+ expect(str).toEqual("Rave attempted to update the server with your recent changes, " +
+ " but the server encountered an internal error.");
+ };
+ rave.api.rpc.moveWidget({targetRegion: {id:"region-1"}, currentRegion: {id:"region-2"}, targetIndex: 3, widget:{id:"widget-3-body"}});
+ });
+ });
+ });
+
+});