Skip to content

Commit ea37c47

Browse files
authored
test: extract tests directory out of src (#433)
1 parent b2005b7 commit ea37c47

32 files changed

+29
-27
lines changed

jest.config.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,23 @@ const SVELTE_TRANSFORM_PATTERN =
44
SVELTE_VERSION >= '5' ? '^.+\\.svelte(?:\\.js)?$' : '^.+\\.svelte$'
55

66
export default {
7-
testMatch: ['<rootDir>/src/__tests__/**/*.test.js'],
7+
testMatch: ['<rootDir>/tests/**/*.test.js'],
88
transform: {
99
[SVELTE_TRANSFORM_PATTERN]: 'svelte-jester',
1010
},
1111
moduleFileExtensions: ['js', 'svelte'],
1212
extensionsToTreatAsEsm: ['.svelte'],
1313
testEnvironment: 'jsdom',
14-
setupFilesAfterEnv: ['<rootDir>/src/__tests__/_jest-setup.js'],
14+
setupFilesAfterEnv: ['<rootDir>/tests/_jest-setup.js'],
1515
injectGlobals: false,
1616
moduleNameMapper: {
17-
'^vitest$': '<rootDir>/src/__tests__/_jest-vitest-alias.js',
17+
'^vitest$': '<rootDir>/tests/_jest-vitest-alias.js',
18+
'^@testing-library\\/svelte$': '<rootDir>/src/index.js',
1819
},
1920
resetMocks: true,
2021
restoreMocks: true,
2122
collectCoverageFrom: ['<rootDir>/src/**/*'],
2223
coveragePathIgnorePatterns: [
23-
'/__tests__/',
2424
'<rootDir>/src/vite.js',
2525
'<rootDir>/src/vitest.js',
2626
],

package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,7 @@
4949
],
5050
"files": [
5151
"src",
52-
"types",
53-
"!__tests__"
52+
"types"
5453
],
5554
"scripts": {
5655
"all": "npm-run-all contributors:generate toc format types build test:vitest:* test:jest",
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

src/__tests__/auto-cleanup.test.js renamed to tests/auto-cleanup.test.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'
22

3-
import { IS_JEST } from './utils.js'
3+
import { IS_JEST } from './_env.js'
44

55
// TODO(mcous, 2024-12-08): clearing module cache and re-importing
66
// in Jest breaks Svelte's environment checking heuristics.
@@ -19,7 +19,7 @@ describe.skipIf(IS_JEST)('auto-cleanup', () => {
1919
})
2020

2121
test('calls afterEach with cleanup if globally defined', async () => {
22-
const { render } = await import('../index.js')
22+
const { render } = await import('@testing-library/svelte')
2323

2424
expect(globalAfterEach).toHaveBeenCalledTimes(1)
2525
expect(globalAfterEach).toHaveBeenLastCalledWith(expect.any(Function))
@@ -35,7 +35,7 @@ describe.skipIf(IS_JEST)('auto-cleanup', () => {
3535
test('does not call afterEach if process STL_SKIP_AUTO_CLEANUP is set', async () => {
3636
process.env.STL_SKIP_AUTO_CLEANUP = 'true'
3737

38-
await import('../index.js')
38+
await import('@testing-library/svelte')
3939

4040
expect(globalAfterEach).toHaveBeenCalledTimes(0)
4141
})
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

src/__tests__/render-runes.test-d.ts renamed to tests/render-runes.test-d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import * as subject from '@testing-library/svelte'
12
import { expectTypeOf } from 'expect-type'
23
import { describe, test, vi } from 'vitest'
34

4-
import * as subject from '../index.js'
55
import LegacyComponent from './fixtures/Typed.svelte'
66
import Component from './fixtures/TypedRunes.svelte'
77

src/__tests__/render-utilities.test-d.ts renamed to tests/render-utilities.test-d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import * as subject from '@testing-library/svelte'
12
import { expectTypeOf } from 'expect-type'
23
import { describe, test } from 'vitest'
34

4-
import * as subject from '../index.js'
55
import Component from './fixtures/Comp.svelte'
66

77
describe('render query and utility types', () => {

src/__tests__/render.test-d.ts renamed to tests/render.test-d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
import * as subject from '@testing-library/svelte'
12
import { expectTypeOf } from 'expect-type'
23
import { ComponentProps } from 'svelte'
34
import { describe, test } from 'vitest'
45

5-
import * as subject from '../index.js'
66
import Component from './fixtures/Typed.svelte'
77

88
describe('types', () => {

src/__tests__/render.test.js renamed to tests/render.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { render } from '@testing-library/svelte'
22
import { beforeAll, describe, expect, test } from 'vitest'
33

4-
import { COMPONENT_FIXTURES } from './utils.js'
4+
import { COMPONENT_FIXTURES } from './_env.js'
55

66
describe.each(COMPONENT_FIXTURES)('render ($mode)', ({ component }) => {
77
const props = { name: 'World' }

src/__tests__/rerender.test.js renamed to tests/rerender.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { act, render, screen } from '@testing-library/svelte'
22
import { beforeAll, describe, expect, test, vi } from 'vitest'
33

4-
import { COMPONENT_FIXTURES, IS_SVELTE_5, MODE_RUNES } from './utils.js'
4+
import { COMPONENT_FIXTURES, IS_SVELTE_5, MODE_RUNES } from './_env.js'
55

66
describe.each(COMPONENT_FIXTURES)('rerender ($mode)', ({ mode, component }) => {
77
let Comp

src/__tests__/transition.test.js renamed to tests/transition.test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import { render, screen, waitFor } from '@testing-library/svelte'
22
import { userEvent } from '@testing-library/user-event'
33
import { beforeEach, describe, expect, test, vi } from 'vitest'
44

5+
import { IS_JSDOM, IS_SVELTE_5 } from './_env.js'
56
import Transitioner from './fixtures/Transitioner.svelte'
6-
import { IS_JSDOM, IS_SVELTE_5 } from './utils.js'
77

88
describe.skipIf(IS_SVELTE_5)('transitions', () => {
99
beforeEach(() => {

src/__tests__/vite-plugin.test.js renamed to tests/vite-plugin.test.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import { svelteTesting } from '@testing-library/svelte/vite'
12
import { beforeEach, describe, expect, test, vi } from 'vitest'
23

3-
import { svelteTesting } from '../vite.js'
4-
import { IS_JEST } from './utils.js'
4+
import { IS_JEST } from './_env.js'
55

66
describe.skipIf(IS_JEST)('vite plugin', () => {
77
beforeEach(() => {

tsconfig.build.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
"rootDir": "src",
99
"outDir": "types"
1010
},
11-
"exclude": ["src/**/__tests__/**"]
11+
"include": ["src"]
1212
}

tsconfig.json

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66
"skipLibCheck": true,
77
"strict": true,
88
"types": ["svelte", "vite/client", "vitest", "vitest/globals"],
9+
"baseUrl": "./",
10+
"paths": {
11+
"@testing-library/svelte": ["./src"]
12+
},
913
"plugins": [{ "name": "typescript-svelte-plugin" }]
1014
},
11-
"include": ["src"]
15+
"include": ["src", "tests"]
1216
}

tsconfig.legacy.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"extends": ["./tsconfig.json"],
33
"exclude": [
4-
"src/__tests__/render-runes.test-d.ts",
5-
"src/__tests__/fixtures/CompRunes.svelte",
6-
"src/__tests__/fixtures/TypedRunes.svelte"
4+
"tests/render-runes.test-d.ts",
5+
"tests/fixtures/CompRunes.svelte",
6+
"tests/fixtures/TypedRunes.svelte"
77
]
88
}

vite.config.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,27 @@
11
import { createRequire } from 'node:module'
22

33
import { svelte } from '@sveltejs/vite-plugin-svelte'
4+
import { svelteTesting } from '@testing-library/svelte/vite'
45
import { defineConfig } from 'vite'
56

6-
import { svelteTesting } from './src/vite.js'
7-
87
const require = createRequire(import.meta.url)
98

109
// https://vitejs.dev/config/
1110
export default defineConfig({
1211
plugins: [svelte(), svelteTesting()],
1312
test: {
1413
environment: 'jsdom',
15-
setupFiles: ['./src/__tests__/_vitest-setup.js'],
14+
setupFiles: ['./tests/_vitest-setup.js'],
1615
mockReset: true,
1716
unstubGlobals: true,
1817
unstubEnvs: true,
1918
coverage: {
2019
provider: 'v8',
2120
include: ['src/**/*'],
22-
exclude: ['**/__tests__/**', 'src/vite.js', 'src/vitest.js'],
2321
},
2422
alias: {
25-
'@testing-library/svelte': require.resolve('.'),
23+
'@testing-library/svelte/vite': require.resolve('./src/vite.js'),
24+
'@testing-library/svelte': require.resolve('./src/index.js'),
2625
},
2726
},
2827
})

0 commit comments

Comments
 (0)