system-testing 1.0.26 → 1.0.27

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "system-testing",
3
- "version": "1.0.26",
3
+ "version": "1.0.27",
4
4
  "description": "System testing with Selenium and browsers.",
5
5
  "keywords": [
6
6
  "system",
@@ -100,6 +100,9 @@ export default class SystemTestBrowserHelper {
100
100
  this.communicator.sendCommand(data)
101
101
  }
102
102
 
103
+ /**
104
+ * @returns {void}
105
+ */
103
106
  connectWebSocket() {
104
107
  this.ws = new WebSocket("ws://localhost:1985")
105
108
  this.communicator.ws = this.ws
@@ -108,6 +111,9 @@ export default class SystemTestBrowserHelper {
108
111
  this.ws.addEventListener("message", (event) => this.communicator.onMessage(event.data))
109
112
  }
110
113
 
114
+ /**
115
+ * @returns {void}
116
+ */
111
117
  enableOnBrowser() {
112
118
  this._enabled = true
113
119
  this.connectWebSocket()
@@ -116,7 +122,14 @@ export default class SystemTestBrowserHelper {
116
122
  this.overrideConsoleLog()
117
123
  }
118
124
 
125
+ /**
126
+ * @returns {boolean}
127
+ */
119
128
  getEnabled() { return this._enabled }
129
+
130
+ /**
131
+ * @returns {EventEmitter}
132
+ */
120
133
  getEvents() { return this.events }
121
134
 
122
135
  fakeConsoleError = (...args) => {
@@ -185,10 +198,17 @@ export default class SystemTestBrowserHelper {
185
198
  }
186
199
  }
187
200
 
201
+ /**
202
+ * @param {function() : void} callback
203
+ * @returns {void}
204
+ */
188
205
  onInitialize(callback) {
189
206
  this._onInitializeCallback = callback
190
207
  }
191
208
 
209
+ /**
210
+ * @returns {void}
211
+ */
192
212
  overrideConsoleLog() {
193
213
  if (this.originalConsoleError || this.originalConsoleLog) {
194
214
  throw new Error("Console methods has already been overridden!")
@@ -201,6 +221,10 @@ export default class SystemTestBrowserHelper {
201
221
  console.log = this.fakeConsoleLog
202
222
  }
203
223
 
224
+ /**
225
+ * @param {string} sql
226
+ * @returns {Promise<Array<Record<string, any>>>}
227
+ */
204
228
  async sendQuery(sql) {
205
229
  return await this.communicator.sendCommand({type: "query", sql})
206
230
  }
@@ -4,6 +4,7 @@ import mime from "mime"
4
4
  import url from "url"
5
5
 
6
6
  export default class SystemTestHttpServer {
7
+ /** @returns {void} */
7
8
  close() {
8
9
  this.httpServer.close()
9
10
  }
@@ -37,11 +38,13 @@ export default class SystemTestHttpServer {
37
38
  response.end(fileContent)
38
39
  }
39
40
 
41
+ /** @returns {Promise<void>} */
40
42
  async start() {
41
43
  this.basePath = await fs.realpath(`${__dirname}/../..`)
42
44
  await this.startHttpServer()
43
45
  }
44
46
 
47
+ /** @returns {Promise<void>} */
45
48
  startHttpServer() {
46
49
  return new Promise((resolve) => {
47
50
  this.httpServer = http.createServer(this.onHttpServerRequest)
@@ -93,13 +93,19 @@ export default class SystemTest {
93
93
  return this.getBaseSelector() ? `${this.getBaseSelector()} ${selector}` : selector
94
94
  }
95
95
 
96
- /** Starts Scoundrel server which the browser connects to for remote evaluation in the browser */
96
+ /**
97
+ * Starts Scoundrel server which the browser connects to for remote evaluation in the browser
98
+ * @returns {void}
99
+ */
97
100
  startScoundrel() {
98
101
  this.wss = new WebSocketServer({port: 8090})
99
102
  this.serverWebSocket = new ServerWebSocket(this.wss)
100
103
  this.server = new Server(this.serverWebSocket)
101
104
  }
102
105
 
106
+ /**
107
+ * @returns {void}
108
+ */
103
109
  stopScoundrel() {
104
110
  this.server?.close()
105
111
  this.wss?.close()
@@ -9,7 +9,10 @@ const shared = {
9
9
  systemTestBrowserHelper: null
10
10
  }
11
11
 
12
- const isSystemTestEnabled = () => {
12
+ /**
13
+ * @returns {boolean}
14
+ */
15
+ function isSystemTestEnabled() {
13
16
  let enabled = false
14
17
  const initialUrl = globalThis.location?.href
15
18
 
@@ -25,7 +28,10 @@ const isSystemTestEnabled = () => {
25
28
  return enabled
26
29
  }
27
30
 
28
- const getSystemTestBrowserHelper = () => {
31
+ /**
32
+ * @returns {SystemTestBrowserHelper}
33
+ */
34
+ function getSystemTestBrowserHelper() {
29
35
  if (!shared.systemTestBrowserHelper) {
30
36
  shared.systemTestBrowserHelper = new SystemTestBrowserHelper()
31
37
  shared.systemTestBrowserHelper.enableOnBrowser()
@@ -38,9 +44,7 @@ const getSystemTestBrowserHelper = () => {
38
44
  * A hook that provides system test capabilities.
39
45
  * @param {object} options - Options for the hook.
40
46
  * @param {function() : void} options.onInitialize - A callback function that is called when the system test browser helper is initialized.
41
- * @returns {object} An object containing:
42
- * - enabled: A boolean indicating if system test mode is enabled.
43
- * - systemTestBrowserHelper: An instance of SystemTestBrowserHelper if enabled, otherwise null.
47
+ * @returns {{enabled: boolean, systemTestBrowserHelper: SystemTestBrowserHelper}}
44
48
  */
45
49
  export default function useSystemTest({onInitialize, ...restArgs} = {}) {
46
50
  const router = useRouter()