diff options
author | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-02-07 16:56:35 +0100 |
---|---|---|
committer | Christoph Wurst <christoph@winzerhof-wurst.at> | 2020-02-07 16:56:35 +0100 |
commit | b267409d38d6c945b76b8c1a8575c188914fca12 (patch) | |
tree | 252b6d4bbd24e92de9c88e4dadfaee42b8267d9e /core/src/tests | |
parent | fc18116715e62f777074111a8d7a3a52601c2cef (diff) | |
download | nextcloud-server-b267409d38d6c945b76b8c1a8575c188914fca12.tar.gz nextcloud-server-b267409d38d6c945b76b8c1a8575c188914fca12.zip |
Add webpack-based js tests
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'core/src/tests')
-rw-r--r-- | core/src/tests/OC/requesttoken.spec.js | 48 | ||||
-rw-r--r-- | core/src/tests/setup.js | 36 |
2 files changed, 84 insertions, 0 deletions
diff --git a/core/src/tests/OC/requesttoken.spec.js b/core/src/tests/OC/requesttoken.spec.js new file mode 100644 index 00000000000..401d3766af4 --- /dev/null +++ b/core/src/tests/OC/requesttoken.spec.js @@ -0,0 +1,48 @@ +/* + * @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at> + * + * @author 2020 Christoph Wurst <christoph@winzerhof-wurst.at> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program 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 program. If not, see <http://www.gnu.org/licenses/>. + */ + +import {subscribe, unsubscribe} from '@nextcloud/event-bus' + +import {setToken} from '../../OC/requesttoken' + +describe('request token', () => { + + describe('@nextcloud/auth integration', () => { + let listener + + beforeEach(() => { + listener = sinon.spy() + + subscribe('csrf-token-update', listener) + }) + + afterEach(() => { + unsubscribe('csrf-token-update', listener) + }) + + it('fires off an event for @nextcloud/auth', () => { + setToken('123') + + expect(listener).to.have.been.calledWith({token: '123'}) + }) + }) + +}) diff --git a/core/src/tests/setup.js b/core/src/tests/setup.js new file mode 100644 index 00000000000..bec4e11eaea --- /dev/null +++ b/core/src/tests/setup.js @@ -0,0 +1,36 @@ +/* + * @copyright 2018 Christoph Wurst <christoph@winzerhof-wurst.at> + * + * @author 2018 Christoph Wurst <christoph@winzerhof-wurst.at> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program 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 program. If not, see <http://www.gnu.org/licenses/>. + */ + +require('jsdom-global')() +const chai = require('chai') +var sinon = require('sinon') +var sinonChai = require('sinon-chai'); + +chai.use(sinonChai) +global.expect = chai.expect +global.sinon = sinon + +// https://github.com/vuejs/vue-test-utils/issues/936 +// better fix for "TypeError: Super expression must either be null or +// a function" than pinning an old version of prettier. +// +// https://github.com/vuejs/vue-cli/issues/2128#issuecomment-453109575 +window.Date = Date |