summaryrefslogtreecommitdiffstats
path: root/core/js/tests/specHelper.js
diff options
context:
space:
mode:
Diffstat (limited to 'core/js/tests/specHelper.js')
-rw-r--r--core/js/tests/specHelper.js105
1 files changed, 105 insertions, 0 deletions
diff --git a/core/js/tests/specHelper.js b/core/js/tests/specHelper.js
new file mode 100644
index 00000000000..1848d08354e
--- /dev/null
+++ b/core/js/tests/specHelper.js
@@ -0,0 +1,105 @@
+/**
+* ownCloud
+*
+* @author Vincent Petry
+* @copyright 2014 Vincent Petry <pvince81@owncloud.com>
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+*
+* You should have received a copy of the GNU Affero General Public
+* License along with this library. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+/* global OC */
+
+/**
+ * Simulate the variables that are normally set by PHP code
+ */
+
+// from core/js/config.php
+window.TESTING = true;
+window.oc_debug = true;
+window.datepickerFormatDate = 'MM d, yy';
+window.dayNames = [
+ 'Sunday',
+ 'Monday',
+ 'Tuesday',
+ 'Wednesday',
+ 'Thursday',
+ 'Friday',
+ 'Saturday'
+];
+window.monthNames = [
+ 'January',
+ 'February',
+ 'March',
+ 'April',
+ 'May',
+ 'June',
+ 'July',
+ 'August',
+ 'September',
+ 'October',
+ 'November',
+ 'December'
+];
+window.firstDay = 0;
+
+// setup dummy webroots
+window.oc_webroot = location.href + '/';
+window.oc_appswebroots = {
+ "files": window.oc_webroot + '/apps/files/'
+};
+window.oc_config = {
+ session_lifetime: 600 * 1000,
+ session_keepalive: false
+};
+
+// global setup for all tests
+(function setupTests() {
+ var fakeServer = null,
+ routesRequestStub;
+
+ beforeEach(function() {
+ // enforce fake XHR, tests should not depend on the server and
+ // must use fake responses for expected calls
+ fakeServer = sinon.fakeServer.create();
+
+ // return fake translations as they might be requested for many test runs
+ fakeServer.respondWith(/\/index.php\/core\/ajax\/translations.php$/, [
+ 200, {
+ "Content-Type": "application/json"
+ },
+ '{"data": [], "plural_form": "nplurals=2; plural=(n != 1);"}'
+ ]);
+
+ // make it globally available, so that other tests can define
+ // custom responses
+ window.fakeServer = fakeServer;
+
+ OC.Router.routes = [];
+ OC.Router.routes_request = {
+ state: sinon.stub().returns('resolved'),
+ done: sinon.stub()
+ };
+ });
+
+ afterEach(function() {
+ OC.Router.routes_request.state.reset();
+ OC.Router.routes_request.done.reset();
+
+ // uncomment this to log requests
+ // console.log(window.fakeServer.requests);
+ fakeServer.restore();
+ });
+})();
+