From 70c8c68df6c676133e3200bb1da0bb0835c46332 Mon Sep 17 00:00:00 2001 From: Anton Gilgur Date: Thu, 19 Mar 2020 00:22:26 -0400 Subject: [PATCH] (refactor): rename tests -> e2e, integration-tests -> integration - change testDir in tests to the new names - reword docs and scripts so they handle this properly (refactor): interpolate directory in the lint tests - DRY up so don't have to change all these lines when the path is a constant --- package.json | 2 +- test/README.md | 4 ++-- test/{tests => e2e}/fixtures/README.md | 0 .../fixtures/build-default/package.json | 0 .../fixtures/build-default/package2.json | 0 .../fixtures/build-default/src/foo.ts | 0 .../fixtures/build-default/src/index.ts | 0 .../build-default/src/syntax/jsx-import/JSX-A.jsx | 0 .../build-default/src/syntax/jsx-import/JSX-B.jsx | 0 .../src/syntax/jsx-import/JSX-import-JSX.jsx | 0 .../build-default/src/syntax/nullish-coalescing.ts | 0 .../build-default/src/syntax/optional-chaining.ts | 0 .../fixtures/build-default/tsconfig.json | 0 .../fixtures/build-invalid/package.json | 0 .../fixtures/build-invalid/src/index.ts | 0 .../fixtures/build-invalid/tsconfig.json | 0 .../fixtures/build-withTsconfig/package.json | 0 .../fixtures/build-withTsconfig/src/index.ts | 0 .../fixtures/build-withTsconfig/src/tsconfig.json | 0 .../fixtures/build-withTsconfig/tsconfig.base.json | 0 .../fixtures/build-withTsconfig/tsconfig.json | 0 test/{tests => e2e}/lint/file-with-lint-errors.ts | 0 .../lint/file-with-prettier-lint-errors.ts | 0 .../{tests => e2e}/lint/file-without-lint-error.ts | 0 .../lint/react-file-with-lint-errors.tsx | 0 .../lint/react-file-without-lint-error.tsx | 0 test/{tests => e2e}/lint/tsdx-lint.test.js | 14 ++++++++------ test/{tests => e2e}/tsdx-build-default.test.js | 2 +- test/{tests => e2e}/tsdx-build-invalid.test.js | 2 +- .../{tests => e2e}/tsdx-build-withTsconfig.test.js | 2 +- test/{tests => e2e}/utils-safePackageName.test.ts | 0 .../fixtures/README.md | 0 .../fixtures/build-options/package.json | 0 .../fixtures/build-options/src/index.ts | 0 .../fixtures/build-options/tsconfig.json | 0 .../fixtures/build-withConfig/package.json | 0 .../fixtures/build-withConfig/src/index.css | 0 .../fixtures/build-withConfig/src/index.ts | 0 .../fixtures/build-withConfig/tsconfig.json | 0 .../fixtures/build-withConfig/tsdx.config.js | 0 .../tsdx-build-options.test.js | 2 +- .../tsdx-build-withConfig.test.js | 2 +- 42 files changed, 16 insertions(+), 14 deletions(-) rename test/{tests => e2e}/fixtures/README.md (100%) rename test/{tests => e2e}/fixtures/build-default/package.json (100%) rename test/{tests => e2e}/fixtures/build-default/package2.json (100%) rename test/{tests => e2e}/fixtures/build-default/src/foo.ts (100%) rename test/{tests => e2e}/fixtures/build-default/src/index.ts (100%) rename test/{tests => e2e}/fixtures/build-default/src/syntax/jsx-import/JSX-A.jsx (100%) rename test/{tests => e2e}/fixtures/build-default/src/syntax/jsx-import/JSX-B.jsx (100%) rename test/{tests => e2e}/fixtures/build-default/src/syntax/jsx-import/JSX-import-JSX.jsx (100%) rename test/{tests => e2e}/fixtures/build-default/src/syntax/nullish-coalescing.ts (100%) rename test/{tests => e2e}/fixtures/build-default/src/syntax/optional-chaining.ts (100%) rename test/{tests => e2e}/fixtures/build-default/tsconfig.json (100%) rename test/{tests => e2e}/fixtures/build-invalid/package.json (100%) rename test/{tests => e2e}/fixtures/build-invalid/src/index.ts (100%) rename test/{tests => e2e}/fixtures/build-invalid/tsconfig.json (100%) rename test/{tests => e2e}/fixtures/build-withTsconfig/package.json (100%) rename test/{tests => e2e}/fixtures/build-withTsconfig/src/index.ts (100%) rename test/{tests => e2e}/fixtures/build-withTsconfig/src/tsconfig.json (100%) rename test/{tests => e2e}/fixtures/build-withTsconfig/tsconfig.base.json (100%) rename test/{tests => e2e}/fixtures/build-withTsconfig/tsconfig.json (100%) rename test/{tests => e2e}/lint/file-with-lint-errors.ts (100%) rename test/{tests => e2e}/lint/file-with-prettier-lint-errors.ts (100%) rename test/{tests => e2e}/lint/file-without-lint-error.ts (100%) rename test/{tests => e2e}/lint/react-file-with-lint-errors.tsx (100%) rename test/{tests => e2e}/lint/react-file-without-lint-error.tsx (100%) rename test/{tests => e2e}/lint/tsdx-lint.test.js (84%) rename test/{tests => e2e}/tsdx-build-default.test.js (99%) rename test/{tests => e2e}/tsdx-build-invalid.test.js (98%) rename test/{tests => e2e}/tsdx-build-withTsconfig.test.js (98%) rename test/{tests => e2e}/utils-safePackageName.test.ts (100%) rename test/{integration-tests => integration}/fixtures/README.md (100%) rename test/{integration-tests => integration}/fixtures/build-options/package.json (100%) rename test/{integration-tests => integration}/fixtures/build-options/src/index.ts (100%) rename test/{integration-tests => integration}/fixtures/build-options/tsconfig.json (100%) rename test/{integration-tests => integration}/fixtures/build-withConfig/package.json (100%) rename test/{integration-tests => integration}/fixtures/build-withConfig/src/index.css (100%) rename test/{integration-tests => integration}/fixtures/build-withConfig/src/index.ts (100%) rename test/{integration-tests => integration}/fixtures/build-withConfig/tsconfig.json (100%) rename test/{integration-tests => integration}/fixtures/build-withConfig/tsdx.config.js (100%) rename test/{integration-tests => integration}/tsdx-build-options.test.js (98%) rename test/{integration-tests => integration}/tsdx-build-withConfig.test.js (98%) diff --git a/package.json b/package.json index 649823626..dd28144ec 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "prepare": "tsc -p tsconfig.json", "build": "tsc -p tsconfig.json", "lint": "yarn build && yarn lint:post-build", - "lint:post-build": "node dist/index.js lint src test --ignore-pattern 'test/tests/lint'", + "lint:post-build": "node dist/index.js lint src test --ignore-pattern 'test/e2e/lint'", "test": "yarn build && yarn test:post-build", "test:post-build": "node dist/index.js test", "start": "tsc -p tsconfig.json --watch", diff --git a/test/README.md b/test/README.md index 09d77b109..b005b4d78 100644 --- a/test/README.md +++ b/test/README.md @@ -2,5 +2,5 @@ There are two main directories here: -- `tests` contains end-to-end (E2E) tests of the CLI -- `integration-tests` contains tests ensuring that common or recommended plugins work properly together with TSDX +- `e2e` contains end-to-end (E2E) tests of the CLI +- `integration` contains tests ensuring that common or recommended plugins work properly together with TSDX diff --git a/test/tests/fixtures/README.md b/test/e2e/fixtures/README.md similarity index 100% rename from test/tests/fixtures/README.md rename to test/e2e/fixtures/README.md diff --git a/test/tests/fixtures/build-default/package.json b/test/e2e/fixtures/build-default/package.json similarity index 100% rename from test/tests/fixtures/build-default/package.json rename to test/e2e/fixtures/build-default/package.json diff --git a/test/tests/fixtures/build-default/package2.json b/test/e2e/fixtures/build-default/package2.json similarity index 100% rename from test/tests/fixtures/build-default/package2.json rename to test/e2e/fixtures/build-default/package2.json diff --git a/test/tests/fixtures/build-default/src/foo.ts b/test/e2e/fixtures/build-default/src/foo.ts similarity index 100% rename from test/tests/fixtures/build-default/src/foo.ts rename to test/e2e/fixtures/build-default/src/foo.ts diff --git a/test/tests/fixtures/build-default/src/index.ts b/test/e2e/fixtures/build-default/src/index.ts similarity index 100% rename from test/tests/fixtures/build-default/src/index.ts rename to test/e2e/fixtures/build-default/src/index.ts diff --git a/test/tests/fixtures/build-default/src/syntax/jsx-import/JSX-A.jsx b/test/e2e/fixtures/build-default/src/syntax/jsx-import/JSX-A.jsx similarity index 100% rename from test/tests/fixtures/build-default/src/syntax/jsx-import/JSX-A.jsx rename to test/e2e/fixtures/build-default/src/syntax/jsx-import/JSX-A.jsx diff --git a/test/tests/fixtures/build-default/src/syntax/jsx-import/JSX-B.jsx b/test/e2e/fixtures/build-default/src/syntax/jsx-import/JSX-B.jsx similarity index 100% rename from test/tests/fixtures/build-default/src/syntax/jsx-import/JSX-B.jsx rename to test/e2e/fixtures/build-default/src/syntax/jsx-import/JSX-B.jsx diff --git a/test/tests/fixtures/build-default/src/syntax/jsx-import/JSX-import-JSX.jsx b/test/e2e/fixtures/build-default/src/syntax/jsx-import/JSX-import-JSX.jsx similarity index 100% rename from test/tests/fixtures/build-default/src/syntax/jsx-import/JSX-import-JSX.jsx rename to test/e2e/fixtures/build-default/src/syntax/jsx-import/JSX-import-JSX.jsx diff --git a/test/tests/fixtures/build-default/src/syntax/nullish-coalescing.ts b/test/e2e/fixtures/build-default/src/syntax/nullish-coalescing.ts similarity index 100% rename from test/tests/fixtures/build-default/src/syntax/nullish-coalescing.ts rename to test/e2e/fixtures/build-default/src/syntax/nullish-coalescing.ts diff --git a/test/tests/fixtures/build-default/src/syntax/optional-chaining.ts b/test/e2e/fixtures/build-default/src/syntax/optional-chaining.ts similarity index 100% rename from test/tests/fixtures/build-default/src/syntax/optional-chaining.ts rename to test/e2e/fixtures/build-default/src/syntax/optional-chaining.ts diff --git a/test/tests/fixtures/build-default/tsconfig.json b/test/e2e/fixtures/build-default/tsconfig.json similarity index 100% rename from test/tests/fixtures/build-default/tsconfig.json rename to test/e2e/fixtures/build-default/tsconfig.json diff --git a/test/tests/fixtures/build-invalid/package.json b/test/e2e/fixtures/build-invalid/package.json similarity index 100% rename from test/tests/fixtures/build-invalid/package.json rename to test/e2e/fixtures/build-invalid/package.json diff --git a/test/tests/fixtures/build-invalid/src/index.ts b/test/e2e/fixtures/build-invalid/src/index.ts similarity index 100% rename from test/tests/fixtures/build-invalid/src/index.ts rename to test/e2e/fixtures/build-invalid/src/index.ts diff --git a/test/tests/fixtures/build-invalid/tsconfig.json b/test/e2e/fixtures/build-invalid/tsconfig.json similarity index 100% rename from test/tests/fixtures/build-invalid/tsconfig.json rename to test/e2e/fixtures/build-invalid/tsconfig.json diff --git a/test/tests/fixtures/build-withTsconfig/package.json b/test/e2e/fixtures/build-withTsconfig/package.json similarity index 100% rename from test/tests/fixtures/build-withTsconfig/package.json rename to test/e2e/fixtures/build-withTsconfig/package.json diff --git a/test/tests/fixtures/build-withTsconfig/src/index.ts b/test/e2e/fixtures/build-withTsconfig/src/index.ts similarity index 100% rename from test/tests/fixtures/build-withTsconfig/src/index.ts rename to test/e2e/fixtures/build-withTsconfig/src/index.ts diff --git a/test/tests/fixtures/build-withTsconfig/src/tsconfig.json b/test/e2e/fixtures/build-withTsconfig/src/tsconfig.json similarity index 100% rename from test/tests/fixtures/build-withTsconfig/src/tsconfig.json rename to test/e2e/fixtures/build-withTsconfig/src/tsconfig.json diff --git a/test/tests/fixtures/build-withTsconfig/tsconfig.base.json b/test/e2e/fixtures/build-withTsconfig/tsconfig.base.json similarity index 100% rename from test/tests/fixtures/build-withTsconfig/tsconfig.base.json rename to test/e2e/fixtures/build-withTsconfig/tsconfig.base.json diff --git a/test/tests/fixtures/build-withTsconfig/tsconfig.json b/test/e2e/fixtures/build-withTsconfig/tsconfig.json similarity index 100% rename from test/tests/fixtures/build-withTsconfig/tsconfig.json rename to test/e2e/fixtures/build-withTsconfig/tsconfig.json diff --git a/test/tests/lint/file-with-lint-errors.ts b/test/e2e/lint/file-with-lint-errors.ts similarity index 100% rename from test/tests/lint/file-with-lint-errors.ts rename to test/e2e/lint/file-with-lint-errors.ts diff --git a/test/tests/lint/file-with-prettier-lint-errors.ts b/test/e2e/lint/file-with-prettier-lint-errors.ts similarity index 100% rename from test/tests/lint/file-with-prettier-lint-errors.ts rename to test/e2e/lint/file-with-prettier-lint-errors.ts diff --git a/test/tests/lint/file-without-lint-error.ts b/test/e2e/lint/file-without-lint-error.ts similarity index 100% rename from test/tests/lint/file-without-lint-error.ts rename to test/e2e/lint/file-without-lint-error.ts diff --git a/test/tests/lint/react-file-with-lint-errors.tsx b/test/e2e/lint/react-file-with-lint-errors.tsx similarity index 100% rename from test/tests/lint/react-file-with-lint-errors.tsx rename to test/e2e/lint/react-file-with-lint-errors.tsx diff --git a/test/tests/lint/react-file-without-lint-error.tsx b/test/e2e/lint/react-file-without-lint-error.tsx similarity index 100% rename from test/tests/lint/react-file-without-lint-error.tsx rename to test/e2e/lint/react-file-without-lint-error.tsx diff --git a/test/tests/lint/tsdx-lint.test.js b/test/e2e/lint/tsdx-lint.test.js similarity index 84% rename from test/tests/lint/tsdx-lint.test.js rename to test/e2e/lint/tsdx-lint.test.js index be88bc161..4b16f4233 100644 --- a/test/tests/lint/tsdx-lint.test.js +++ b/test/e2e/lint/tsdx-lint.test.js @@ -8,39 +8,41 @@ const util = require('../../utils/fixture'); shell.config.silent = true; -const testDir = 'tests'; +const testDir = 'e2e'; const stageName = 'stage-lint'; +const lintDir = `test/${testDir}/lint` + describe('tsdx lint', () => { it('should fail to lint a ts file with errors', () => { - const testFile = 'test/tests/lint/file-with-lint-errors.ts'; + const testFile = `${lintDir}/file-with-lint-errors.ts`; const output = shell.exec(`node dist/index.js lint ${testFile}`); expect(output.code).toBe(1); expect(output.stdout.includes('Parsing error:')).toBe(true); }); it('should succeed linting a ts file without errors', () => { - const testFile = 'test/tests/lint/file-without-lint-error.ts'; + const testFile = `${lintDir}/file-without-lint-error.ts`; const output = shell.exec(`node dist/index.js lint ${testFile}`); expect(output.code).toBe(0); }); it('should fail to lint a ts file with prettier errors', () => { - const testFile = 'test/tests/lint/file-with-prettier-lint-errors.ts'; + const testFile = `${lintDir}/file-with-prettier-lint-errors.ts`; const output = shell.exec(`node dist/index.js lint ${testFile}`); expect(output.code).toBe(1); expect(output.stdout.includes('prettier/prettier')).toBe(true); }); it('should fail to lint a tsx file with errors', () => { - const testFile = 'test/tests/lint/react-file-with-lint-errors.tsx'; + const testFile = `${lintDir}/react-file-with-lint-errors.tsx`; const output = shell.exec(`node dist/index.js lint ${testFile}`); expect(output.code).toBe(1); expect(output.stdout.includes('Parsing error:')).toBe(true); }); it('should succeed linting a tsx file without errors', () => { - const testFile = 'test/tests/lint/react-file-without-lint-error.tsx'; + const testFile = `${lintDir}/react-file-without-lint-error.tsx`; const output = shell.exec(`node dist/index.js lint ${testFile}`); expect(output.code).toBe(0); }); diff --git a/test/tests/tsdx-build-default.test.js b/test/e2e/tsdx-build-default.test.js similarity index 99% rename from test/tests/tsdx-build-default.test.js rename to test/e2e/tsdx-build-default.test.js index ef8add438..7ce8bca5d 100644 --- a/test/tests/tsdx-build-default.test.js +++ b/test/e2e/tsdx-build-default.test.js @@ -4,7 +4,7 @@ const { execWithCache } = require('../utils/shell'); shell.config.silent = false; -const testDir = 'tests'; +const testDir = 'e2e'; const fixtureName = 'build-default'; const stageName = `stage-${fixtureName}`; diff --git a/test/tests/tsdx-build-invalid.test.js b/test/e2e/tsdx-build-invalid.test.js similarity index 98% rename from test/tests/tsdx-build-invalid.test.js rename to test/e2e/tsdx-build-invalid.test.js index 4aef270ca..ccc3a937c 100644 --- a/test/tests/tsdx-build-invalid.test.js +++ b/test/e2e/tsdx-build-invalid.test.js @@ -4,7 +4,7 @@ const { execWithCache } = require('../utils/shell'); shell.config.silent = false; -const testDir = 'tests'; +const testDir = 'e2e'; const fixtureName = 'build-invalid'; const stageName = `stage-${fixtureName}`; diff --git a/test/tests/tsdx-build-withTsconfig.test.js b/test/e2e/tsdx-build-withTsconfig.test.js similarity index 98% rename from test/tests/tsdx-build-withTsconfig.test.js rename to test/e2e/tsdx-build-withTsconfig.test.js index dbf1e1079..14aca52de 100644 --- a/test/tests/tsdx-build-withTsconfig.test.js +++ b/test/e2e/tsdx-build-withTsconfig.test.js @@ -4,7 +4,7 @@ const { execWithCache } = require('../utils/shell'); shell.config.silent = false; -const testDir = 'tests'; +const testDir = 'e2e'; const fixtureName = 'build-withTsconfig'; const stageName = `stage-${fixtureName}`; diff --git a/test/tests/utils-safePackageName.test.ts b/test/e2e/utils-safePackageName.test.ts similarity index 100% rename from test/tests/utils-safePackageName.test.ts rename to test/e2e/utils-safePackageName.test.ts diff --git a/test/integration-tests/fixtures/README.md b/test/integration/fixtures/README.md similarity index 100% rename from test/integration-tests/fixtures/README.md rename to test/integration/fixtures/README.md diff --git a/test/integration-tests/fixtures/build-options/package.json b/test/integration/fixtures/build-options/package.json similarity index 100% rename from test/integration-tests/fixtures/build-options/package.json rename to test/integration/fixtures/build-options/package.json diff --git a/test/integration-tests/fixtures/build-options/src/index.ts b/test/integration/fixtures/build-options/src/index.ts similarity index 100% rename from test/integration-tests/fixtures/build-options/src/index.ts rename to test/integration/fixtures/build-options/src/index.ts diff --git a/test/integration-tests/fixtures/build-options/tsconfig.json b/test/integration/fixtures/build-options/tsconfig.json similarity index 100% rename from test/integration-tests/fixtures/build-options/tsconfig.json rename to test/integration/fixtures/build-options/tsconfig.json diff --git a/test/integration-tests/fixtures/build-withConfig/package.json b/test/integration/fixtures/build-withConfig/package.json similarity index 100% rename from test/integration-tests/fixtures/build-withConfig/package.json rename to test/integration/fixtures/build-withConfig/package.json diff --git a/test/integration-tests/fixtures/build-withConfig/src/index.css b/test/integration/fixtures/build-withConfig/src/index.css similarity index 100% rename from test/integration-tests/fixtures/build-withConfig/src/index.css rename to test/integration/fixtures/build-withConfig/src/index.css diff --git a/test/integration-tests/fixtures/build-withConfig/src/index.ts b/test/integration/fixtures/build-withConfig/src/index.ts similarity index 100% rename from test/integration-tests/fixtures/build-withConfig/src/index.ts rename to test/integration/fixtures/build-withConfig/src/index.ts diff --git a/test/integration-tests/fixtures/build-withConfig/tsconfig.json b/test/integration/fixtures/build-withConfig/tsconfig.json similarity index 100% rename from test/integration-tests/fixtures/build-withConfig/tsconfig.json rename to test/integration/fixtures/build-withConfig/tsconfig.json diff --git a/test/integration-tests/fixtures/build-withConfig/tsdx.config.js b/test/integration/fixtures/build-withConfig/tsdx.config.js similarity index 100% rename from test/integration-tests/fixtures/build-withConfig/tsdx.config.js rename to test/integration/fixtures/build-withConfig/tsdx.config.js diff --git a/test/integration-tests/tsdx-build-options.test.js b/test/integration/tsdx-build-options.test.js similarity index 98% rename from test/integration-tests/tsdx-build-options.test.js rename to test/integration/tsdx-build-options.test.js index 8bbbe8c57..db002bf69 100644 --- a/test/integration-tests/tsdx-build-options.test.js +++ b/test/integration/tsdx-build-options.test.js @@ -5,7 +5,7 @@ const { execWithCache } = require('../utils/shell'); shell.config.silent = false; -const testDir = 'integration-tests'; +const testDir = 'integration'; const fixtureName = 'build-options'; const stageName = `stage-integration-${fixtureName}`; diff --git a/test/integration-tests/tsdx-build-withConfig.test.js b/test/integration/tsdx-build-withConfig.test.js similarity index 98% rename from test/integration-tests/tsdx-build-withConfig.test.js rename to test/integration/tsdx-build-withConfig.test.js index a495293de..fa4d9ee5e 100644 --- a/test/integration-tests/tsdx-build-withConfig.test.js +++ b/test/integration/tsdx-build-withConfig.test.js @@ -6,7 +6,7 @@ const { execWithCache } = require('../utils/shell'); shell.config.silent = false; -const testDir = 'integration-tests'; +const testDir = 'integration'; const fixtureName = 'build-withConfig'; const stageName = `stage-integration-${fixtureName}`;