From b74cd761af631f3521090e6e99ac1788ab5eaa32 Mon Sep 17 00:00:00 2001 From: talvbansal Date: Mon, 19 Mar 2018 16:09:32 +0000 Subject: [PATCH 1/3] Initial ui tests for the toolbar and sidebar sub components --- .babelrc | 17 + package.json | 31 +- .../subcomponents/PreviewSideBar.vue | 1 - .../components/subcomponents/TopToolBar.vue | 2 +- resources/assets/js/media-manager.js | 17 - .../assets/js/mixins/file-manager-mixin.js | 11 + tests/Frontend/Jest/PreviewSideBar.test.js | 43 + tests/Frontend/Jest/TopToolBar.test.js | 67 + yarn.lock | 1837 ++++++++++++++++- 9 files changed, 1952 insertions(+), 74 deletions(-) create mode 100644 .babelrc create mode 100644 tests/Frontend/Jest/PreviewSideBar.test.js create mode 100644 tests/Frontend/Jest/TopToolBar.test.js diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..f9de08b --- /dev/null +++ b/.babelrc @@ -0,0 +1,17 @@ +{ + "presets": [ + ["env", { + "modules": "commonjs", + "targets": { + "browsers": ["> 1%", "last 2 versions", "ie >= 10"] + } + }], + "stage-2" + ], + "env": { + "test": { + "presets": ["env", "stage-2"], + "plugins": ["istanbul"] + } + } +} \ No newline at end of file diff --git a/package.json b/package.json index 69b6656..963b6e6 100644 --- a/package.json +++ b/package.json @@ -8,10 +8,36 @@ "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", "prod": "npm run production", "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "eslint": "./node_modules/.bin/eslint resources/assets/js/ test/ --ext .js,.vue" + "eslint": "./node_modules/.bin/eslint resources/assets/js/ test/ --ext .js,.vue", + "test": "jest" + }, + "jest": { + "verbose": true, + "moduleNameMapper": { + "^vue$": "vue/dist/vue.common.js" + }, + "moduleFileExtensions": [ + "js", + "vue" + ], + "transform": { + "^.+\\.js$": "/node_modules/babel-jest", + ".*\\.(vue)$": "/node_modules/jest-vue-preprocessor" + }, + "globals": { + "NODE_ENV": "test" + }, + "moduleDirectories": [ + "node_modules", + "resources/assets/js" + ] }, "devDependencies": { + "@vue/test-utils": "^1.0.0-beta.12", "axios": "^0.16.2", + "babel-jest": "^23.0.0-alpha.0", + "babel-preset-env": "^1.6.1", + "babel-preset-stage-2": "^6.24.1", "bootstrap-notify": "^3.1.3", "cross-env": "^5.0.1", "dropzone": "^4.3.0", @@ -19,11 +45,14 @@ "eslint-plugin-vue": "^4.3.0", "gulp": "^3.9.1", "hammerjs": "^2.0.8", + "jest": "^22.4.2", + "jest-vue-preprocessor": "^1.4.0", "laravel-mix": "^1.0", "lodash": "^4.16.2", "moment": "^2.17.1", "node": "8.9.4", "vue": "^2.3.0", + "vue-jest": "^2.2.1", "vue-touch2": "^1.0.0" } } diff --git a/resources/assets/js/components/subcomponents/PreviewSideBar.vue b/resources/assets/js/components/subcomponents/PreviewSideBar.vue index e78c2a9..cfdabd1 100644 --- a/resources/assets/js/components/subcomponents/PreviewSideBar.vue +++ b/resources/assets/js/components/subcomponents/PreviewSideBar.vue @@ -61,7 +61,6 @@ import fileManagerMixin from "./../../mixins/file-manager-mixin"; export default{ filters: { - // Take any integer of bytes and convert it into something more human readable... humanFileSize: function (size) { let i = Math.floor(Math.log(size) / Math.log(1024)); diff --git a/resources/assets/js/components/subcomponents/TopToolBar.vue b/resources/assets/js/components/subcomponents/TopToolBar.vue index 32d4d85..1053ae6 100644 --- a/resources/assets/js/components/subcomponents/TopToolBar.vue +++ b/resources/assets/js/components/subcomponents/TopToolBar.vue @@ -20,7 +20,7 @@