system-testing 1.0.33 → 1.0.35
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/dist/index.d.ts +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/system-test-browser-helper.d.ts +108 -0
- package/dist/system-test-browser-helper.js +238 -0
- package/dist/system-test-browser-helper.js.map +1 -0
- package/dist/system-test-communicator.d.ts +50 -0
- package/dist/system-test-communicator.js +105 -0
- package/dist/system-test-communicator.js.map +1 -0
- package/dist/system-test-http-server.d.ts +17 -0
- package/dist/system-test-http-server.js +66 -0
- package/dist/system-test-http-server.js.map +1 -0
- package/dist/system-test.d.ts +299 -0
- package/dist/system-test.js +705 -0
- package/dist/system-test.js.map +1 -0
- package/dist/use-system-test.d.ts +13 -0
- package/dist/use-system-test.js +79 -0
- package/dist/use-system-test.js.map +1 -0
- package/package.json +9 -5
- package/.github/dependabot.yml +0 -9
- package/eslint.config.js +0 -23
- package/peak_flow.yml +0 -5
- package/src/system-test-browser-helper.js +0 -269
- package/src/system-test-communicator.js +0 -120
- package/src/system-test-http-server.js +0 -77
- package/src/system-test.js +0 -809
- package/src/use-system-test.js +0 -94
- package/tsconfig.json +0 -15
package/src/use-system-test.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import qs from "qs"
|
|
2
|
-
import SystemTestBrowserHelper from "./system-test-browser-helper.js"
|
|
3
|
-
import {useCallback, useMemo} from "react"
|
|
4
|
-
import useEventEmitter from "@kaspernj/api-maker/build/use-event-emitter.js"
|
|
5
|
-
import {useRouter} from "expo-router"
|
|
6
|
-
|
|
7
|
-
const shared = {
|
|
8
|
-
initialized: false,
|
|
9
|
-
systemTestBrowserHelper: null
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @returns {boolean}
|
|
14
|
-
*/
|
|
15
|
-
function isSystemTestEnabled() {
|
|
16
|
-
let enabled = false
|
|
17
|
-
const initialUrl = globalThis.location?.href
|
|
18
|
-
|
|
19
|
-
if (initialUrl) {
|
|
20
|
-
const queryString = initialUrl.substring(initialUrl.indexOf("?") + 1, initialUrl.length)
|
|
21
|
-
const queryParams = qs.parse(queryString)
|
|
22
|
-
|
|
23
|
-
if (queryParams.systemTest == "true") {
|
|
24
|
-
enabled = true
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return enabled
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* @returns {SystemTestBrowserHelper}
|
|
33
|
-
*/
|
|
34
|
-
function getSystemTestBrowserHelper() {
|
|
35
|
-
if (!shared.systemTestBrowserHelper) {
|
|
36
|
-
shared.systemTestBrowserHelper = new SystemTestBrowserHelper()
|
|
37
|
-
shared.systemTestBrowserHelper.enableOnBrowser()
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return shared.systemTestBrowserHelper
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* A hook that provides system test capabilities.
|
|
45
|
-
* @param {object} options - Options for the hook.
|
|
46
|
-
* @param {function() : void} options.onInitialize - A callback function that is called when the system test browser helper is initialized.
|
|
47
|
-
* @returns {{enabled: boolean, systemTestBrowserHelper: SystemTestBrowserHelper}}
|
|
48
|
-
*/
|
|
49
|
-
export default function useSystemTest({onInitialize, ...restArgs} = {onInitialize: undefined}) {
|
|
50
|
-
const router = useRouter()
|
|
51
|
-
const enabled = useMemo(() => isSystemTestEnabled(), [])
|
|
52
|
-
const systemTestBrowserHelper = enabled ? getSystemTestBrowserHelper() : null
|
|
53
|
-
const result = useMemo(() => ({enabled, systemTestBrowserHelper}), [enabled, systemTestBrowserHelper])
|
|
54
|
-
const instanceShared = useMemo(() => ({}), [])
|
|
55
|
-
|
|
56
|
-
instanceShared.enabled = enabled
|
|
57
|
-
instanceShared.router = router
|
|
58
|
-
|
|
59
|
-
// Resets navigation when instructed by the system test browser helper
|
|
60
|
-
const onSystemTestBrowserHelperDismissTo = useCallback(({path}) => {
|
|
61
|
-
if (instanceShared.enabled) {
|
|
62
|
-
try {
|
|
63
|
-
instanceShared.router.dismissTo(path)
|
|
64
|
-
} catch (error) {
|
|
65
|
-
console.error(`Failed to dismiss to path "${path}": ${error.message}`)
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}, [])
|
|
69
|
-
|
|
70
|
-
useEventEmitter(shared.systemTestBrowserHelper?.getEvents(), "dismissTo", onSystemTestBrowserHelperDismissTo)
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
// Navigates when instructed by the system test browser helper and keeping history of screens
|
|
74
|
-
const onSystemTestBrowserHelperNavigate = useCallback(({path}) => {
|
|
75
|
-
if (instanceShared.enabled) {
|
|
76
|
-
instanceShared.router.navigate(path)
|
|
77
|
-
}
|
|
78
|
-
}, [])
|
|
79
|
-
|
|
80
|
-
useEventEmitter(shared.systemTestBrowserHelper?.getEvents(), "navigate", onSystemTestBrowserHelperNavigate)
|
|
81
|
-
|
|
82
|
-
useMemo(() => {
|
|
83
|
-
if (enabled && !shared.initialized) {
|
|
84
|
-
shared.initialized = true
|
|
85
|
-
shared.systemTestBrowserHelper?.onInitialize(onInitialize)
|
|
86
|
-
}
|
|
87
|
-
}, [enabled, onInitialize, shared.systemTestBrowserHelper])
|
|
88
|
-
|
|
89
|
-
const restArgsKeys = Object.keys(restArgs)
|
|
90
|
-
|
|
91
|
-
if (restArgsKeys.length > 0) throw new Error(`Unknown arguments given to useSystemTest: ${restArgsKeys.join(", ")}`)
|
|
92
|
-
|
|
93
|
-
return result
|
|
94
|
-
}
|
package/tsconfig.json
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"checkJs": true,
|
|
4
|
-
"noEmit": true,
|
|
5
|
-
"target": "ES2020",
|
|
6
|
-
|
|
7
|
-
"moduleResolution": "nodenext",
|
|
8
|
-
"module": "nodenext",
|
|
9
|
-
|
|
10
|
-
"lib": ["dom", "ES2020"],
|
|
11
|
-
"sourceMap": true,
|
|
12
|
-
"types": ["node"],
|
|
13
|
-
"skipLibCheck": true
|
|
14
|
-
}
|
|
15
|
-
}
|