diff options
Diffstat (limited to 'core/js/tests/specHelper.js')
-rw-r--r-- | core/js/tests/specHelper.js | 105 |
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(); + }); +})(); + |