diff --git a/.circleci/config.yml b/.circleci/config.yml index 697957905a..db24dd54e7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -178,11 +178,11 @@ jobs: name: "JS Newsletter Editor Tests" command: | mkdir test-results/mocha - ./do t:j test-results/mocha/junit.xml + ./do t:newsletter-editor test-results/mocha/newsletter_editor_junit.xml - run: - name: "JS Form Editor Tests" + name: "JS Tests" command: | - npm test + ./do t:j test-results/mocha/junit.xml - store_test_results: path: test-results/mocha - store_artifacts: diff --git a/.eslintrc.tests.json b/.eslintrc.tests_newsletter_editor.json similarity index 100% rename from .eslintrc.tests.json rename to .eslintrc.tests_newsletter_editor.json diff --git a/.gitignore b/.gitignore index 2a19013d08..d3bcaa94d1 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,7 @@ npm-debug.log temp .idea mailpoet.zip -tests/javascript/testBundles +tests/javascript_newsletter_editor/testBundles assets/dist .vagrant lang diff --git a/RoboFile.php b/RoboFile.php index b17c6babc8..3d252e0fd4 100644 --- a/RoboFile.php +++ b/RoboFile.php @@ -204,13 +204,13 @@ class RoboFile extends \Robo\Tasks { return $this->execWithXDebug($command); } - function testJavascript($xml_output_file = null) { + function testNewsletterEditor($xml_output_file = null) { $this->compileJs(); $command = join(' ', [ './node_modules/.bin/mocha', - '-r tests/javascript/mochaTestHelper.js', - 'tests/javascript/testBundles/**/*.js', + '-r tests/javascript_newsletter_editor/mochaTestHelper.js', + 'tests/javascript_newsletter_editor/testBundles/**/*.js', ]); if (!empty($xml_output_file)) { @@ -223,6 +223,19 @@ class RoboFile extends \Robo\Tasks { return $this->_exec($command); } + function testJavascript($xml_output_file = null) { + $command = './node_modules/.bin/mocha --require @babel/register tests/javascript/**/*.spec.js'; + + if (!empty($xml_output_file)) { + $command .= sprintf( + ' --reporter xunit --reporter-options output="%s"', + $xml_output_file + ); + } + + return $this->_exec($command); + } + function securityComposer() { return $this->collectionBuilder() ->taskExec('vendor/bin/security-checker security:check --format=simple') diff --git a/package.json b/package.json index c9f13627ac..74c5ba5cf9 100644 --- a/package.json +++ b/package.json @@ -11,13 +11,13 @@ ], "scripts": { "lint": "npm run lint6 && npm run lint5 && npm run lint-tests", - "lint6": "eslint -c .eslintrc.es6.json --max-warnings 0 'assets/js/src/**/*.jsx'", - "lint5": "eslint -c .eslintrc.es5.json --ignore-pattern helpscout.js --max-warnings 0 'assets/js/src/**/*.js' 'tests/javascript_form_editor/**/*.js'", - "lint-tests": "eslint -c .eslintrc.tests.json --max-warnings 0 'tests/javascript'", + "lint6": "eslint -c .eslintrc.es6.json --max-warnings 0 'assets/js/src/**/*.jsx' 'tests/javascript/**/*.js'", + "lint5": "eslint -c .eslintrc.es5.json --ignore-pattern helpscout.js --max-warnings 0 'assets/js/src/**/*.js'", + "lint-tests": "eslint -c .eslintrc.tests_newsletter_editor.json --max-warnings 0 'tests/javascript_newsletter_editor'", "autoprefixer": "postcss assets/dist/css/*.css --use autoprefixer --no-map --replace", "scss": "node-sass assets/css/src/ --output assets/dist/css/ --output-style compact", "stylelint": "stylelint --fix", - "test": "mocha --compilers js:@babel/register tests/javascript_form_editor/**/*.spec.js" + "test": "mocha --require @babel/register tests/javascript/**/*.spec.js" }, "dependencies": { "@babel/runtime": "^7.4.5", diff --git a/tests/javascript_form_editor/store/reducers/toggle_sidebar_panel.spec.js b/tests/javascript/form_editor/store/reducers/toggle_sidebar_panel.spec.js similarity index 95% rename from tests/javascript_form_editor/store/reducers/toggle_sidebar_panel.spec.js rename to tests/javascript/form_editor/store/reducers/toggle_sidebar_panel.spec.js index 87b5cbaee3..eb21c6c9cf 100644 --- a/tests/javascript_form_editor/store/reducers/toggle_sidebar_panel.spec.js +++ b/tests/javascript/form_editor/store/reducers/toggle_sidebar_panel.spec.js @@ -1,6 +1,6 @@ import { describe, it, beforeEach } from 'mocha'; import { expect } from 'chai'; -import reducer from '../../../../assets/js/src/form_editor/store/reducers/toggle_sidebar_panel.jsx'; +import reducer from '../../../../../assets/js/src/form_editor/store/reducers/toggle_sidebar_panel.jsx'; describe('Toggle Sidebar Panel Reducer', () => { let initialState = null; diff --git a/tests/javascript/loadHelpers.js b/tests/javascript_newsletter_editor/loadHelpers.js similarity index 100% rename from tests/javascript/loadHelpers.js rename to tests/javascript_newsletter_editor/loadHelpers.js diff --git a/tests/javascript/mochaTestHelper.js b/tests/javascript_newsletter_editor/mochaTestHelper.js similarity index 99% rename from tests/javascript/mochaTestHelper.js rename to tests/javascript_newsletter_editor/mochaTestHelper.js index a997c9fcb9..6ab9917216 100644 --- a/tests/javascript/mochaTestHelper.js +++ b/tests/javascript_newsletter_editor/mochaTestHelper.js @@ -34,7 +34,7 @@ global.jQuery = jQuery; global.window.jQuery = jQuery; -testHelpers.loadScript('tests/javascript/testBundles/vendor.js', global.window); +testHelpers.loadScript('tests/javascript_newsletter_editor/testBundles/vendor.js', global.window); const Handlebars = global.window.Handlebars; global.Handlebars = global.window.Handlebars; diff --git a/tests/javascript/newsletter_editor/blocks/automatedLatestContentLayout.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/automatedLatestContentLayout.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/automatedLatestContentLayout.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/automatedLatestContentLayout.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/button.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/button.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/button.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/button.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/container.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/container.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/container.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/container.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/divider.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/divider.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/divider.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/divider.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/footer.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/footer.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/footer.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/footer.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/header.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/header.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/header.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/header.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/image.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/image.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/image.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/image.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/posts.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/posts.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/posts.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/posts.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/products.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/products.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/products.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/products.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/social.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/social.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/social.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/social.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/spacer.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/spacer.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/spacer.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/spacer.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/text.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/text.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/text.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/text.spec.js diff --git a/tests/javascript/newsletter_editor/blocks/woocommerceContent.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/blocks/woocommerceContent.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/blocks/woocommerceContent.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/blocks/woocommerceContent.spec.js diff --git a/tests/javascript/newsletter_editor/components/communication.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/components/communication.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/components/communication.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/components/communication.spec.js diff --git a/tests/javascript/newsletter_editor/components/config.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/components/config.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/components/config.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/components/config.spec.js diff --git a/tests/javascript/newsletter_editor/components/content.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/components/content.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/components/content.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/components/content.spec.js diff --git a/tests/javascript/newsletter_editor/components/heading.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/components/heading.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/components/heading.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/components/heading.spec.js diff --git a/tests/javascript/newsletter_editor/components/history.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/components/history.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/components/history.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/components/history.spec.js diff --git a/tests/javascript/newsletter_editor/components/save.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/components/save.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/components/save.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/components/save.spec.js diff --git a/tests/javascript/newsletter_editor/components/sidebar.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/components/sidebar.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/components/sidebar.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/components/sidebar.spec.js diff --git a/tests/javascript/newsletter_editor/components/styles.spec.js b/tests/javascript_newsletter_editor/newsletter_editor/components/styles.spec.js similarity index 100% rename from tests/javascript/newsletter_editor/components/styles.spec.js rename to tests/javascript_newsletter_editor/newsletter_editor/components/styles.spec.js diff --git a/webpack.config.js b/webpack.config.js index fb289087b3..75d638eb8f 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -297,7 +297,7 @@ const migratorConfig = { } }; -// Test config +// Newsletter Editor Tests Config const testConfig = { name: 'test', entry: { @@ -330,7 +330,7 @@ const testConfig = { ], }, output: { - path: path.join(__dirname, 'tests/javascript/testBundles'), + path: path.join(__dirname, 'tests/javascript_newsletter_editor/testBundles'), filename: '[name].js', }, plugins: [ @@ -346,7 +346,7 @@ const testConfig = { modules: [ 'node_modules', 'assets/js/src', - 'tests/javascript/newsletter_editor' + 'tests/javascript_newsletter_editor/newsletter_editor' ], alias: { 'sticky-kit': 'vendor/jquery.sticky-kit.js',