@mysetup/test-helpers 2.0.1 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -17
- package/dist/graphql/index.d.ts +0 -1
- package/dist/helpers/index.d.ts +0 -1
- package/dist/helpers/index.js +2 -2
- package/dist/index.d.ts +0 -1
- package/package.json +76 -58
- package/dist/graphql/index.d.ts.map +0 -1
- package/dist/helpers/index.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -1,30 +1,50 @@
|
|
|
1
1
|
# @mysetup/test-helpers
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Testing utilities built on top of React Testing Library, `jest-axe`, and Apollo testing helpers.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Installation
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add -D @mysetup/test-helpers react react-dom
|
|
9
|
+
```
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
## Supported libraries and runtimes
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
| Supported | Notes |
|
|
14
|
+
| --------------------- | ---------------------------- |
|
|
15
|
+
| Jest + jsdom | Supported |
|
|
16
|
+
| React Testing Library | Supported |
|
|
17
|
+
| Next.js test suites | Supported |
|
|
18
|
+
| Vitest | Not targeted by this package |
|
|
13
19
|
|
|
14
|
-
|
|
20
|
+
## Usage
|
|
15
21
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
render();
|
|
22
|
+
```tsx
|
|
23
|
+
import { screen, setupRender } from "@mysetup/test-helpers";
|
|
19
24
|
|
|
20
|
-
|
|
21
|
-
}
|
|
25
|
+
function Component({ text }: { text: string }) {
|
|
26
|
+
return <div>{text}</div>;
|
|
27
|
+
}
|
|
22
28
|
|
|
23
|
-
|
|
24
|
-
render({ moreText: "more props" });
|
|
29
|
+
const render = setupRender(Component, { text: "default value" });
|
|
25
30
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
31
|
+
test("renders merged props", () => {
|
|
32
|
+
render({ text: "overridden" });
|
|
33
|
+
expect(screen.getByText("overridden")).toBeInTheDocument();
|
|
29
34
|
});
|
|
30
35
|
```
|
|
36
|
+
|
|
37
|
+
## Exports
|
|
38
|
+
|
|
39
|
+
- `setupRender`
|
|
40
|
+
- `setupRenderWithProvider`
|
|
41
|
+
- `setupRenderHook`
|
|
42
|
+
- `setupRenderHookWithProvider`
|
|
43
|
+
- `MockedProvider`
|
|
44
|
+
- Testing Library re-exports
|
|
45
|
+
- `jest-axe` re-exports
|
|
46
|
+
|
|
47
|
+
## Notes
|
|
48
|
+
|
|
49
|
+
- This package currently uses `@jest/globals` and mocks `next/navigation`, so it is designed for Jest-based test setups.
|
|
50
|
+
- If your app uses Vite, this package is suitable when your tests run on Jest rather than Vitest.
|
package/dist/graphql/index.d.ts
CHANGED
|
@@ -2,4 +2,3 @@ import React from "react";
|
|
|
2
2
|
import type { MockedProviderProps } from "@apollo/client/testing";
|
|
3
3
|
export * from "@apollo/client/testing";
|
|
4
4
|
export declare const MockedProvider: ({ children, ...props }: MockedProviderProps) => React.JSX.Element;
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/helpers/index.d.ts
CHANGED
package/dist/helpers/index.js
CHANGED
|
@@ -107,7 +107,7 @@ var setupRenderWithProvider = function (Component, Provider, defaultAppState, de
|
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
return (0, react_1.render)(react_2.default.createElement(graphql_1.MockedProvider, { mocks: mocks },
|
|
110
|
-
react_2.default.createElement(Provider, { appState: appState
|
|
110
|
+
react_2.default.createElement(Provider, { appState: appState }, Wrapper ? (react_2.default.createElement(Wrapper, null,
|
|
111
111
|
react_2.default.createElement(Component, __assign({}, props)))) : (react_2.default.createElement(Component, __assign({}, props))))), options);
|
|
112
112
|
};
|
|
113
113
|
};
|
|
@@ -139,7 +139,7 @@ var setupRenderHookWithProvider = function (hook, Provider, defaultAppState, def
|
|
|
139
139
|
return (0, react_1.renderHook)(function () { return hook(props); }, __assign(__assign({}, options), { wrapper: function (_a) {
|
|
140
140
|
var children = _a.children;
|
|
141
141
|
return (react_2.default.createElement(graphql_1.MockedProvider, { mocks: mocks },
|
|
142
|
-
react_2.default.createElement(Provider, { appState: appState
|
|
142
|
+
react_2.default.createElement(Provider, { appState: appState }, Wrapper ? react_2.default.createElement(Wrapper, null, children) : children)));
|
|
143
143
|
} }));
|
|
144
144
|
};
|
|
145
145
|
};
|
package/dist/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,60 +1,78 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
"name": "@mysetup/test-helpers",
|
|
3
|
+
"version": "2.0.6",
|
|
4
|
+
"description": "Shared React and Apollo test helpers for application packages.",
|
|
5
|
+
"author": "krishnaraj <krishnaraj.webdev@gmail.com>",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"testing",
|
|
9
|
+
"react-testing-library",
|
|
10
|
+
"apollo",
|
|
11
|
+
"nextjs",
|
|
12
|
+
"typescript"
|
|
13
|
+
],
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"main": "dist/index.js",
|
|
18
|
+
"types": "dist/index.d.ts",
|
|
19
|
+
"sideEffects": false,
|
|
20
|
+
"files": [
|
|
21
|
+
"dist",
|
|
22
|
+
"README.md"
|
|
23
|
+
],
|
|
24
|
+
"exports": {
|
|
25
|
+
".": {
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"import": "./dist/index.js",
|
|
28
|
+
"require": "./dist/index.js"
|
|
16
29
|
},
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"
|
|
60
|
-
|
|
30
|
+
"./package.json": "./package.json"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@apollo/client": "^3.12.9",
|
|
34
|
+
"@jest/globals": "^29.7.0",
|
|
35
|
+
"@testing-library/dom": "^10.4.0",
|
|
36
|
+
"@testing-library/jest-dom": "^6.6.3",
|
|
37
|
+
"@testing-library/react": "^16.2.0",
|
|
38
|
+
"@testing-library/user-event": "^14.6.1",
|
|
39
|
+
"next": "^15.1.9",
|
|
40
|
+
"react-aria": "^3.37.0"
|
|
41
|
+
},
|
|
42
|
+
"peerDependencies": {
|
|
43
|
+
"react": "^18.3.1 || ^19.0.0",
|
|
44
|
+
"react-dom": "^18.3.1 || ^19.0.0"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@types/jest": "^29.5.14",
|
|
48
|
+
"@types/jest-axe": "^3.5.9",
|
|
49
|
+
"@types/node": "^22.13.1",
|
|
50
|
+
"@types/react": "^18.3.1",
|
|
51
|
+
"@types/react-dom": "^18.3.1",
|
|
52
|
+
"jest": "^29.7.0",
|
|
53
|
+
"jest-axe": "^9.0.0",
|
|
54
|
+
"react": "^18.3.1",
|
|
55
|
+
"react-dom": "^18.3.1",
|
|
56
|
+
"typescript": "5.5.4",
|
|
57
|
+
"@mysetup/eslint-config": "^2.0.7",
|
|
58
|
+
"@mysetup/types": "^2.0.9",
|
|
59
|
+
"@mysetup/tsconfig": "^2.0.6",
|
|
60
|
+
"@mysetup/jest-config": "^2.0.6",
|
|
61
|
+
"@mysetup/prettier-config": "^2.0.6"
|
|
62
|
+
},
|
|
63
|
+
"prettier": "@mysetup/prettier-config",
|
|
64
|
+
"engines": {
|
|
65
|
+
"node": ">=20.15.1"
|
|
66
|
+
},
|
|
67
|
+
"scripts": {
|
|
68
|
+
"build": "node ../scripts/package-fs.cjs remove dist && tsc -p tsconfig.build.json",
|
|
69
|
+
"lint": "node ../scripts/run-eslint.cjs .",
|
|
70
|
+
"test": "jest",
|
|
71
|
+
"test:update": "pnpm test -- -u",
|
|
72
|
+
"test:coverage": "jest --coverage",
|
|
73
|
+
"typecheck": "tsc --noEmit",
|
|
74
|
+
"format": "prettier --write \"**/*.{ts,tsx,md,js,mjs,json}\"",
|
|
75
|
+
"checks": "pnpm typecheck && pnpm lint && pnpm test && pnpm build",
|
|
76
|
+
"clean": "node ../scripts/package-fs.cjs remove node_modules .swc dist pnpm-lock.yaml && echo \"Cleaned\""
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../graphql/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,cAAc,wBAAwB,CAAC;AAEvC,eAAO,MAAM,cAAc,2BAA4B,mBAAmB,sBAiBzE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../helpers/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,MAAM,EAEN,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACzB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAc,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,KAAK,WAAW,GAAG,mBAAmB,GAAG,cAAc,GAAG,cAAc,CAAC;AAEzE,UAAU,cAAc;IACpB,UAAU,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE;YACL,UAAU,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;KACL,CAAC;CACL;AAED,UAAU,cAAc;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAeD,UAAU,mBAAoB,SAAQ,aAAa;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACvB;AAED,eAAO,MAAM,WAAW,GAEpB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,aAEtB,aAAa,CAAC,KAAK,CAAC,iBACjB,OAAO,CAAC,KAAK,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,mBACxC,aAAa,GAAG,WAAW,KAC5C,CAAC,CACA,WAAW,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAC5B,aAAa,CAAC,EAAE,aAAa,GAAG,WAAW,KAC1C,UAAU,CAAC,OAAO,MAAM,CAAC,CAkD7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAEhC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,aAEtB,aAAa,CAAC,KAAK,CAAC,YACrB,aAAa,CAAC,mBAAmB,CAAC,mBAC3B,OAAO,CAAC,QAAQ,CAAC,iBACpB,OAAO,CAAC,KAAK,GAAG;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,mBACxC,aAAa,GAAG,WAAW,KAC5C,CAAC,CACA,WAAW,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAC5B,cAAc,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,EAClC,aAAa,CAAC,EAAE,aAAa,GAAG,WAAW,KAC1C,UAAU,CAAC,OAAO,MAAM,CAAC,CA0D7B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,EAAE,KAAK,QACnC,CAAC,YAAY,EAAE,KAAK,KAAK,MAAM,iBACtB,KAAK,mBACH,iBAAiB,CAAC,KAAK,CAAC,GAAG,WAAW,oBAGrC,OAAO,CAAC,KAAK,CAAC,kBACb,iBAAiB,CAAC,KAAK,CAAC,GAAG,WAAW,qEA2B5D,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,MAAM,EAAE,KAAK,QAC/C,CAAC,YAAY,EAAE,KAAK,KAAK,MAAM,YAC3B,aAAa,CAAC,mBAAmB,CAAC,oBAC1B,OAAO,CAAC,QAAQ,CAAC,iBACpB,KAAK,mBACH,iBAAiB,CAAC,KAAK,CAAC,GAAG,WAAW,oBAGrC,OAAO,CAAC,KAAK,CAAC,mBACX,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,kBAC1B,iBAAiB,CAAC,KAAK,CAAC,GAAG,WAAW,qEAkC5D,CAAC;AAEF,eAAO,MAAM,OAAO,qKAAoC,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.tsx"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
|