Browse Source
Add webpack-based js tests
Add webpack-based js tests
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>pull/19356/head
No known key found for this signature in database
GPG Key ID: CC42AC2A7F0E56D8
6 changed files with 1167 additions and 2 deletions
-
17.github/workflows/node.yml
-
48core/src/tests/OC/requesttoken.spec.js
-
36core/src/tests/setup.js
-
31core/webpack.test.js
-
1023package-lock.json
-
14package.json
@ -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'}) |
|||
}) |
|||
}) |
|||
|
|||
}) |
|||
@ -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 |
|||
@ -0,0 +1,31 @@ |
|||
/* |
|||
* @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/>.
|
|||
*/ |
|||
|
|||
const merge = require('webpack-merge'); |
|||
const common = require('./webpack.js'); |
|||
// webpack.config.js
|
|||
const nodeExternals = require('webpack-node-externals') |
|||
|
|||
module.exports = merge(common[0], { |
|||
mode: 'development', |
|||
devtool: 'inline-cheap-module-source-map', |
|||
externals: [nodeExternals()] |
|||
}) |
|||
1023
package-lock.json
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue