system-testing 1.0.32 → 1.0.34

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.
@@ -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
- }