Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions jest.config.js

This file was deleted.

8 changes: 0 additions & 8 deletions manage-dist.js

This file was deleted.

17,420 changes: 5,847 additions & 11,573 deletions package-lock.json

Large diffs are not rendered by default.

34 changes: 14 additions & 20 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
{
"name": "solid-testing-library",
"version": "0.4.0",
"version": "0.4.1",
"description": "Simple and complete Solid testing utilities that encourage good testing practices.",
"main": "./dist/index.cjs",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"exports": {
".": {
"require": "./dist/index.cjs",
"import": "./dist/index.mjs"
"import": "./dist/index.mjs",
"require": "./dist/index.js"
}
},
"license": "MIT",
Expand Down Expand Up @@ -41,37 +42,30 @@
],
"scripts": {
"prepublishOnly": "npm run build",
"clean": "rimraf dist",
"build": "tsc --project tsconfig.build.json; tsc --project tsconfig.build.esm.json; node ./manage-dist.js",
"test": "jest tests",
"build": "tsup src/index.ts --format esm,cjs --dts --clean",
"test": "vitest",
"test:watch": "npm test --watch",
"test:coverage": "npm test -- --coverage",
"setup": "npm install && npm run validate",
"validate": "npm run test:coverage && npm run clean && npm run build",
"validate": "npm run test:coverage && npm run build",
"report:coverage": "cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage"
},
"dependencies": {
"@testing-library/dom": "^8.19.0"
},
"devDependencies": {
"@babel/cli": "^7.19.3",
"@babel/core": "^7.19.6",
"@babel/preset-env": "^7.19.4",
"@babel/preset-typescript": "7.18.6",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/user-event": "^14.4.3",
"@types/jest": "^29.2.1",
"babel-jest": "^29.2.2",
"babel-preset-solid": "^1.6.1",
"coveralls": "^3.1.1",
"jest": "^29.2.2",
"jest-environment-jsdom": "^29.2.2",
"jsdom": "^20.0.2",
"prettier": "^2.7.1",
"pretty-format": "^29.2.1",
"rimraf": "^3.0.2",
"solid-jest": "^0.2.0",
"solid-js": "^1.6.1",
"typescript": "^4.8.4"
"tsup": "6.4.0",
"typescript": "^4.8.4",
"vite-plugin-solid": "^2.4.0",
"vitest": "^0.24.5",
"@vitest/coverage-c8": "^0.24.5"
},
"peerDependencies": {
"solid-js": ">=1.0.0"
Expand Down
6 changes: 3 additions & 3 deletions src/__tests__/basic.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ declare global {
globalThis._$HY = {};

test("render calls createEffect immediately", () => {
const cb = jest.fn();
const cb = vi.fn();

function Comp() {
createEffect(cb);
Expand All @@ -31,7 +31,7 @@ test("findByTestId returns the element", async () => {
});

test("userEvent triggers createEffect calls", async () => {
const cb = jest.fn();
const cb = vi.fn();

function Counter() {
createEffect(() => (count(), cb()));
Expand All @@ -52,7 +52,7 @@ test("userEvent triggers createEffect calls", async () => {
});

test("calls to hydrate will run createEffects", () => {
const cb = jest.fn();
const cb = vi.fn();

function Comp() {
createEffect(cb);
Expand Down
2 changes: 1 addition & 1 deletion src/__tests__/cleanup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { onCleanup } from "solid-js";
import { cleanup, render } from "..";

test("cleans up the document", () => {
const spy = jest.fn();
const spy = vi.fn();
const divId = "my-div";

function Test() {
Expand Down
2 changes: 1 addition & 1 deletion src/__tests__/debug.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import "@testing-library/jest-dom/extend-expect";
import { screen, render } from "..";

beforeEach(() => {
jest.spyOn(console, "log").mockImplementation(() => {});
vi.spyOn(console, "log").mockImplementation(() => {});
});

afterEach(() => {
Expand Down
8 changes: 4 additions & 4 deletions src/__tests__/events.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ const eventTypes = [
}
];

function event(el: HTMLElement, name: string, spy: jest.Mock) {
function event(el: HTMLElement, name: string, spy: vi.Mock) {
el.addEventListener(name, spy);
}

Expand All @@ -140,7 +140,7 @@ eventTypes.forEach(({ type, events, elementType, init }) => {

it(`triggers ${eventProp}`, () => {
let ref!: HTMLElement;
const spy = jest.fn();
const spy = vi.fn();

render(() => <Dynamic component={elementType} ref={ref} />);
event(ref, eventProp, spy);
Expand All @@ -155,7 +155,7 @@ eventTypes.forEach(({ type, events, elementType, init }) => {
});

test("onInput works", async () => {
const handler = jest.fn();
const handler = vi.fn();

const {
container: { firstChild: input }
Expand All @@ -167,7 +167,7 @@ test("onInput works", async () => {
});

test("calling `fireEvent` directly works too", () => {
const handleEvent = jest.fn();
const handleEvent = vi.fn();

const {
container: { firstChild: button }
Expand Down
2 changes: 1 addition & 1 deletion src/__tests__/stopwatch.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ function StopWatch() {
const wait = (time: number) => new Promise(resolve => setTimeout(resolve, time));

test("unmounts a component", async () => {
jest.spyOn(console, "error").mockImplementation(() => {});
vi.spyOn(console, "error").mockImplementation(() => {});

const { unmount, container } = render(() => <StopWatch />);

Expand Down
11 changes: 0 additions & 11 deletions tsconfig.build.esm.json

This file was deleted.

6 changes: 0 additions & 6 deletions tsconfig.build.json

This file was deleted.

5 changes: 4 additions & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
{
"compilerOptions": {
"declaration": true,
"target": "esnext",
"forceConsistentCasingInFileNames": true,
"lib": ["es2020", "dom"],
"skipLibCheck": true,
"target": "es2020",
"newLine": "LF",
"moduleResolution": "node",
"strict": true,
Expand Down
22 changes: 22 additions & 0 deletions vitest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { defineConfig } from "vitest/config";
import solidPlugin from "vite-plugin-solid";

export default defineConfig({
plugins: [solidPlugin()],
test: {
coverage: {
reporter: ["lcov", "text"]
},
watch: false,
globals: true,
clearMocks: true,
environment: "jsdom",
transformMode: {
web: [/\.[jt]sx?$/]
},
include: 'src/__tests__/*.tsx'
},
resolve: {
conditions: ["browser", "development"]
}
});