@apia/testing 4.0.16 → 4.0.18
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 +2 -2
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/package.json +6 -4
package/dist/index.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ declare class Test extends EventEmitter<{
|
|
|
69
69
|
* Hace foco sobre un elemento del DOM y resuelve cuando puede hacer foco o
|
|
70
70
|
* rompe cuando no puede hacer después de 5 intentos.
|
|
71
71
|
*/
|
|
72
|
-
focus: (selector: string, check?: (
|
|
72
|
+
focus: (selector: string, check?: (element: HTMLElement) => boolean, options?: TRunOptions) => Promise<HTMLElement | null>;
|
|
73
73
|
/**
|
|
74
74
|
* Anuncia un nuevo grupo de tests
|
|
75
75
|
*/
|
|
@@ -85,7 +85,7 @@ declare class Test extends EventEmitter<{
|
|
|
85
85
|
*
|
|
86
86
|
* @parameter options
|
|
87
87
|
*/
|
|
88
|
-
should: (name: string, cb: () => boolean | Promise<boolean>, options?: Omit<TRunOptions,
|
|
88
|
+
should: (name: string, cb: () => boolean | Promise<boolean>, options?: Omit<TRunOptions, "silence">) => Promise<void>;
|
|
89
89
|
unmount: (component: TestComponent<any>) => void;
|
|
90
90
|
/**
|
|
91
91
|
* Espera por una condición a suceder, intentando n veces cada ms
|
package/dist/index.js
CHANGED
|
@@ -23,7 +23,7 @@ var __privateAdd$2 = (obj, member, value) => {
|
|
|
23
23
|
};
|
|
24
24
|
var __privateSet$2 = (obj, member, value, setter) => {
|
|
25
25
|
__accessCheck$2(obj, member, "write to private field");
|
|
26
|
-
|
|
26
|
+
member.set(obj, value);
|
|
27
27
|
return value;
|
|
28
28
|
};
|
|
29
29
|
var _component, _props;
|
|
@@ -92,7 +92,7 @@ var __accessCheck$1 = (obj, member, msg) => {
|
|
|
92
92
|
};
|
|
93
93
|
var __privateGet$1 = (obj, member, getter) => {
|
|
94
94
|
__accessCheck$1(obj, member, "read from private field");
|
|
95
|
-
return
|
|
95
|
+
return member.get(obj);
|
|
96
96
|
};
|
|
97
97
|
var __privateAdd$1 = (obj, member, value) => {
|
|
98
98
|
if (member.has(obj))
|
|
@@ -101,7 +101,7 @@ var __privateAdd$1 = (obj, member, value) => {
|
|
|
101
101
|
};
|
|
102
102
|
var __privateSet$1 = (obj, member, value, setter) => {
|
|
103
103
|
__accessCheck$1(obj, member, "write to private field");
|
|
104
|
-
|
|
104
|
+
member.set(obj, value);
|
|
105
105
|
return value;
|
|
106
106
|
};
|
|
107
107
|
var _reports, _levels, _log;
|
|
@@ -229,7 +229,7 @@ var __privateAdd = (obj, member, value) => {
|
|
|
229
229
|
};
|
|
230
230
|
var __privateSet = (obj, member, value, setter) => {
|
|
231
231
|
__accessCheck(obj, member, "write to private field");
|
|
232
|
-
|
|
232
|
+
member.set(obj, value);
|
|
233
233
|
return value;
|
|
234
234
|
};
|
|
235
235
|
var _components, _ref, _running, _run;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/TestComponent.tsx","../src/TestsLogger.ts","../src/index.tsx"],"sourcesContent":["import { FC, RefCallback, forwardRef, useEffect, useState } from 'react';\r\nimport { EventEmitter, useMount } from '@apia/util';\r\nimport { Test } from '.';\r\n\r\nlet maxId = 0;\r\nlet maxUpdateId = 0;\r\n\r\nexport class TestComponent<\r\n T extends Record<string, unknown>,\r\n> extends EventEmitter<{\r\n update: { id: string; props: Partial<T> };\r\n updated: string;\r\n}> {\r\n #component: FC<T>;\r\n #props: T;\r\n\r\n id = `component__${maxId++}`;\r\n\r\n Component = forwardRef<object>((_, ref) => {\r\n const [props, setProps] = useState(this.#props);\r\n const [lastUpdateId, setLastUpdateId] = useState('');\r\n\r\n const Render = this.#component;\r\n\r\n useMount(() => {\r\n const suscription = this.on('update', (ev) => {\r\n setProps((current) => ({ ...current, ...ev.props }));\r\n setLastUpdateId(ev.id);\r\n });\r\n\r\n (ref as RefCallback<object>)({});\r\n\r\n return suscription;\r\n });\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n this.emit('updated', lastUpdateId);\r\n }, 0);\r\n }, [lastUpdateId]);\r\n\r\n return (\r\n <div id={this.name}>\r\n <Render {...props} />\r\n </div>\r\n );\r\n });\r\n\r\n constructor(\r\n private name: string,\r\n private test: Test,\r\n component: FC<T>,\r\n initialProps: T,\r\n ) {\r\n super();\r\n\r\n this.#component = component;\r\n this.#props = initialProps;\r\n }\r\n\r\n unmount = () => {\r\n this.test.unmount(this);\r\n };\r\n\r\n updateProps(newProps: Partial<T>) {\r\n return new Promise<void>((resolve) => {\r\n const updateId = `update${maxUpdateId++}`;\r\n const unsuscribe = this.on('updated', (ev) => {\r\n if (ev === updateId) {\r\n unsuscribe();\r\n resolve();\r\n }\r\n });\r\n setTimeout(() => {\r\n this.emit('update', { id: updateId, props: newProps });\r\n }, 0);\r\n });\r\n }\r\n}\r\n","export type TLogType = 'error' | 'info' | 'success' | 'title' | 'warn';\r\n\r\nexport abstract class TestsLogger {\r\n abstract error(message: string): void;\r\n abstract info(message: string): void;\r\n abstract report(): void;\r\n abstract success(message: string): void;\r\n abstract title(message: string): void;\r\n abstract warn(message: string): void;\r\n\r\n /**\r\n * Establece qué niveles se muestran y qué niveles no.\r\n */\r\n abstract setDebugLevels(levels: Partial<Record<TLogType, boolean>>): void;\r\n}\r\n\r\nexport class ConsoleTestsLogger extends TestsLogger {\r\n colors = {\r\n error: '#f77',\r\n info: 'lightblue',\r\n success: 'lightgreen',\r\n title: 'white',\r\n warn: 'yellow',\r\n };\r\n\r\n #reports: {\r\n title: string;\r\n messages: Partial<Record<keyof TestsLogger, string[]>>;\r\n }[] = [];\r\n\r\n #levels = {\r\n error: true,\r\n info: true,\r\n success: true,\r\n title: true,\r\n warn: true,\r\n };\r\n\r\n #log = (type: TLogType, message: string) => {\r\n const color = this.colors[type];\r\n\r\n const messages = this.#reports[this.#reports.length - 1].messages;\r\n if (!messages[type]) messages[type] = [];\r\n messages[type]?.push(message);\r\n\r\n console.info(\r\n `%c[${type}]%c: ${message}`,\r\n `color: ${color}`,\r\n 'color: white',\r\n );\r\n };\r\n\r\n constructor() {\r\n super();\r\n\r\n this.reset();\r\n }\r\n\r\n error(message: string): void {\r\n if (this.#levels.error) {\r\n console.error(message);\r\n this.#log('error', message);\r\n }\r\n }\r\n\r\n info(message: string): void {\r\n if (this.#levels.info) this.#log('info', message);\r\n }\r\n\r\n success(message: string): void {\r\n if (this.#levels.success) this.#log('success', message);\r\n }\r\n\r\n report() {\r\n for (const report of this.#reports) {\r\n const errors = report.messages.error?.length ?? 0;\r\n const warns = report.messages.warn?.length ?? 0;\r\n const successes = report.messages.success?.length ?? 0;\r\n\r\n if (successes === warns && warns === errors && errors === 0) {\r\n if (\r\n report.title !==\r\n 'Test without title, use method it to set test title.'\r\n )\r\n console.log(\r\n `%cFor ${report.title}, no cases made.`,\r\n 'font-weight: bold; padding: 10px',\r\n );\r\n continue;\r\n }\r\n\r\n console.log(`%cFor ${report.title}`, 'font-weight: bold; padding: 10px');\r\n console.log(\r\n `%c${successes} tests succeed.`,\r\n `color: ${this.colors.success}`,\r\n );\r\n console.log(`%c${warns} warnings sent.`, `color: ${this.colors.warn}`);\r\n console.log(`%c${errors} errors found.`, `color: ${this.colors.error}`);\r\n }\r\n\r\n this.reset();\r\n }\r\n\r\n reset = () => {\r\n this.#reports = [\r\n {\r\n title: 'Test without title, use method it to set test title.',\r\n messages: {},\r\n },\r\n ];\r\n };\r\n\r\n title(title: string): void {\r\n this.#reports.push({ title, messages: {} });\r\n\r\n if (this.#levels.title) {\r\n const color = this.colors.title;\r\n\r\n console.info(\r\n `%c${title}`,\r\n `color: ${color}; font-weight: bold; padding: 10px`,\r\n );\r\n }\r\n }\r\n\r\n warn(message: string): void {\r\n if (this.#levels.warn) {\r\n console.warn(message);\r\n this.#log('warn', message);\r\n }\r\n }\r\n\r\n setDebugLevels(levels: Partial<Record<TLogType, boolean>>): void {\r\n this.#levels = { ...this.#levels, ...levels };\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { EventEmitter, useMount } from '@apia/util';\r\nimport { CSSProperties, FC, useState } from 'react';\r\nimport { TestComponent } from './TestComponent';\r\nimport { ConsoleTestsLogger, TestsLogger } from './TestsLogger';\r\n\r\ntype TTask = {\r\n name: string;\r\n cb: () => Promise<boolean> | boolean;\r\n};\r\n\r\ntype TRunOptions = Partial<{\r\n /**\r\n * Delay al inicio\r\n */\r\n delay: number;\r\n /**\r\n * Cantidad de veces a ejecutar\r\n */\r\n n: number;\r\n /**\r\n * Demora entre reintentos\r\n */\r\n ms: number;\r\n /**\r\n * Omitir mensajes\r\n */\r\n silence: boolean;\r\n}>;\r\n\r\nexport class Test extends EventEmitter<{\r\n componentsListUpdated: boolean;\r\n componentMounted: string;\r\n}> {\r\n #components: TestComponent<any>[] = [];\r\n #ref: HTMLElement | null = null;\r\n\r\n logger: TestsLogger = new ConsoleTestsLogger();\r\n\r\n Component = ({ style }: { style: CSSProperties }) => {\r\n const [components, setComponents] = useState(this.#components);\r\n\r\n useMount(() => {\r\n return this.on('componentsListUpdated', () => {\r\n setComponents([...this.#components]);\r\n });\r\n });\r\n\r\n return (\r\n <div ref={(el) => (this.#ref = el)} style={{ display: 'none', ...style }}>\r\n {components.map((current) => (\r\n <current.Component\r\n ref={(el) => {\r\n if (el) this.emit('componentMounted', current.id);\r\n }}\r\n key={current.id}\r\n />\r\n ))}\r\n </div>\r\n );\r\n };\r\n\r\n /**\r\n * Devuelve el elemento html sobre el cual se están montando los tests\r\n */\r\n get root() {\r\n return this.#ref;\r\n }\r\n\r\n /**\r\n * Hace foco sobre un elemento del DOM y resuelve cuando puede hacer foco o\r\n * rompe cuando no puede hacer después de 5 intentos.\r\n */\r\n focus = (\r\n selector: string,\r\n check?: (element: HTMLElement) => boolean,\r\n options?: TRunOptions,\r\n ) => {\r\n const actualOptions = Object.assign({ delay: 0, ms: 250, n: 5 }, options);\r\n\r\n return new Promise<HTMLElement | null>((resolve) => {\r\n setTimeout(() => {\r\n let tries = actualOptions.n;\r\n const interval = setInterval(() => {\r\n this.logger.info(`Trying to focus with selector ${selector}`);\r\n tries--;\r\n const element = this.root?.querySelector<HTMLElement>(selector);\r\n\r\n if (element) {\r\n element.focus();\r\n\r\n if (check ? check(element) : element === document.activeElement) {\r\n clearInterval(interval);\r\n resolve(element);\r\n }\r\n }\r\n\r\n if (tries === 0) {\r\n clearInterval(interval);\r\n resolve(null);\r\n }\r\n }, actualOptions.ms);\r\n }, actualOptions.delay);\r\n });\r\n };\r\n\r\n /**\r\n * Anuncia un nuevo grupo de tests\r\n */\r\n it = (text: string) => {\r\n this.logger.title(text);\r\n };\r\n\r\n /**\r\n * Monta un componente para usarlo en el testing\r\n */\r\n mount = <T extends Record<string, unknown>>(\r\n name: string,\r\n component: FC<T>,\r\n initialProps: T,\r\n ) => {\r\n return new Promise<TestComponent<T>>((resolve) => {\r\n const newComponent = new TestComponent(\r\n name,\r\n this,\r\n component,\r\n initialProps,\r\n );\r\n this.#components.push(newComponent);\r\n this.emit('componentsListUpdated', true);\r\n const unsuscribe = this.on('componentMounted', (ev) => {\r\n if (ev === newComponent.id) {\r\n unsuscribe();\r\n resolve(newComponent);\r\n }\r\n });\r\n });\r\n };\r\n\r\n report = () => {\r\n this.logger.report();\r\n };\r\n\r\n #running = false;\r\n\r\n /**\r\n * Corre una tarea que va a intentar hasta n veces cada ms milisegundos antes\r\n * de resolver como fallo.\r\n *\r\n * @parameter options\r\n */\r\n should = async (\r\n name: string,\r\n cb: () => boolean | Promise<boolean>,\r\n options?: Omit<TRunOptions, 'silence'>,\r\n ) => {\r\n await this.wait('', () => !this.#running, { silence: true, n: 300 });\r\n\r\n this.#running = true;\r\n const actualOptions = Object.assign({ delay: 0, ms: 250, n: 5 }, options);\r\n\r\n return new Promise<void>((resolve) => {\r\n setTimeout(() => {\r\n let tries = actualOptions.n;\r\n\r\n const tryAgain = () => {\r\n window.requestAnimationFrame(() => {\r\n this.#run({ name, cb })\r\n .then((result) => {\r\n if (!result && tries-- > 0) {\r\n setTimeout(() => {\r\n tryAgain();\r\n }, actualOptions.ms);\r\n this.logger.warn(`[RETRY ${5 - tries}] ${name}`);\r\n } else if (result) {\r\n this.logger.success(`${name}`);\r\n resolve();\r\n this.#running = false;\r\n } else {\r\n this.logger.error(name);\r\n resolve();\r\n this.#running = false;\r\n }\r\n })\r\n .catch(() => {\r\n if (tries-- > 0) {\r\n setTimeout(() => {\r\n tryAgain();\r\n }, actualOptions.ms);\r\n this.logger.warn(`[RETRY ${5 - tries}] ${name}`);\r\n } else {\r\n this.logger.error(`[CATCH] ${name}`);\r\n resolve();\r\n this.#running = false;\r\n }\r\n });\r\n });\r\n };\r\n\r\n tryAgain();\r\n }, actualOptions.delay);\r\n });\r\n };\r\n\r\n unmount = (component: TestComponent<any>) => {\r\n this.#components = this.#components.filter(\r\n (current) => current !== component,\r\n );\r\n this.emit('componentsListUpdated', true);\r\n };\r\n\r\n /**\r\n * Espera por una condición a suceder, intentando n veces cada ms\r\n * milisegundos. La diferencia principal con should es que este método no se\r\n * ocupa de si un test pasa o falla, sino simplemente que trata de cumplir una\r\n * condición. Es especialmente útil para intentar hacer foco o esperar algún\r\n * evento en un futuro cercano.\r\n */\r\n wait = async (\r\n name: string,\r\n cb: () => boolean | Promise<boolean>,\r\n options?: TRunOptions,\r\n ) => {\r\n const actualOptions = Object.assign({ delay: 0, ms: 250, n: 5 }, options);\r\n\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n let tries = actualOptions.n;\r\n\r\n if (!actualOptions.silence) this.logger.info(`[WAITING] ${name}`);\r\n\r\n const tryAgain = () => {\r\n window.requestAnimationFrame(() => {\r\n if (tries-- > 0) {\r\n void (async () => {\r\n const result = await cb();\r\n if (!result) {\r\n setTimeout(() => {\r\n tryAgain();\r\n }, actualOptions.ms);\r\n } else {\r\n resolve(true);\r\n }\r\n })();\r\n } else {\r\n resolve(false);\r\n }\r\n });\r\n };\r\n\r\n tryAgain();\r\n }, actualOptions.delay);\r\n });\r\n };\r\n\r\n #run = async (task: TTask) => {\r\n try {\r\n const taskResult = await task.cb();\r\n\r\n if (taskResult) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } catch (e) {\r\n this.logger.error(String(e));\r\n return false;\r\n }\r\n };\r\n}\r\n\r\nexport { TestComponent, TestsLogger };\r\n"],"names":["__privateAdd","__publicField","__privateGet","__privateSet"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/TestComponent.tsx","../src/TestsLogger.ts","../src/index.tsx"],"sourcesContent":["import { FC, RefCallback, forwardRef, useEffect, useState } from 'react';\nimport { EventEmitter, useMount } from '@apia/util';\nimport { Test } from '.';\n\nlet maxId = 0;\nlet maxUpdateId = 0;\n\nexport class TestComponent<\n T extends Record<string, unknown>,\n> extends EventEmitter<{\n update: { id: string; props: Partial<T> };\n updated: string;\n}> {\n #component: FC<T>;\n #props: T;\n\n id = `component__${maxId++}`;\n\n Component = forwardRef<object>((_, ref) => {\n const [props, setProps] = useState(this.#props);\n const [lastUpdateId, setLastUpdateId] = useState('');\n\n const Render = this.#component;\n\n useMount(() => {\n const suscription = this.on('update', (ev) => {\n setProps((current) => ({ ...current, ...ev.props }));\n setLastUpdateId(ev.id);\n });\n\n (ref as RefCallback<object>)({});\n\n return suscription;\n });\n\n useEffect(() => {\n setTimeout(() => {\n this.emit('updated', lastUpdateId);\n }, 0);\n }, [lastUpdateId]);\n\n return (\n <div id={this.name}>\n <Render {...props} />\n </div>\n );\n });\n\n constructor(\n private name: string,\n private test: Test,\n component: FC<T>,\n initialProps: T,\n ) {\n super();\n\n this.#component = component;\n this.#props = initialProps;\n }\n\n unmount = () => {\n this.test.unmount(this);\n };\n\n updateProps(newProps: Partial<T>) {\n return new Promise<void>((resolve) => {\n const updateId = `update${maxUpdateId++}`;\n const unsuscribe = this.on('updated', (ev) => {\n if (ev === updateId) {\n unsuscribe();\n resolve();\n }\n });\n setTimeout(() => {\n this.emit('update', { id: updateId, props: newProps });\n }, 0);\n });\n }\n}\n","export type TLogType = 'error' | 'info' | 'success' | 'title' | 'warn';\n\nexport abstract class TestsLogger {\n abstract error(message: string): void;\n abstract info(message: string): void;\n abstract report(): void;\n abstract success(message: string): void;\n abstract title(message: string): void;\n abstract warn(message: string): void;\n\n /**\n * Establece qué niveles se muestran y qué niveles no.\n */\n abstract setDebugLevels(levels: Partial<Record<TLogType, boolean>>): void;\n}\n\nexport class ConsoleTestsLogger extends TestsLogger {\n colors = {\n error: '#f77',\n info: 'lightblue',\n success: 'lightgreen',\n title: 'white',\n warn: 'yellow',\n };\n\n #reports: {\n title: string;\n messages: Partial<Record<keyof TestsLogger, string[]>>;\n }[] = [];\n\n #levels = {\n error: true,\n info: true,\n success: true,\n title: true,\n warn: true,\n };\n\n #log = (type: TLogType, message: string) => {\n const color = this.colors[type];\n\n const messages = this.#reports[this.#reports.length - 1].messages;\n if (!messages[type]) messages[type] = [];\n messages[type]?.push(message);\n\n console.info(\n `%c[${type}]%c: ${message}`,\n `color: ${color}`,\n 'color: white',\n );\n };\n\n constructor() {\n super();\n\n this.reset();\n }\n\n error(message: string): void {\n if (this.#levels.error) {\n console.error(message);\n this.#log('error', message);\n }\n }\n\n info(message: string): void {\n if (this.#levels.info) this.#log('info', message);\n }\n\n success(message: string): void {\n if (this.#levels.success) this.#log('success', message);\n }\n\n report() {\n for (const report of this.#reports) {\n const errors = report.messages.error?.length ?? 0;\n const warns = report.messages.warn?.length ?? 0;\n const successes = report.messages.success?.length ?? 0;\n\n if (successes === warns && warns === errors && errors === 0) {\n if (\n report.title !==\n 'Test without title, use method it to set test title.'\n )\n console.log(\n `%cFor ${report.title}, no cases made.`,\n 'font-weight: bold; padding: 10px',\n );\n continue;\n }\n\n console.log(`%cFor ${report.title}`, 'font-weight: bold; padding: 10px');\n console.log(\n `%c${successes} tests succeed.`,\n `color: ${this.colors.success}`,\n );\n console.log(`%c${warns} warnings sent.`, `color: ${this.colors.warn}`);\n console.log(`%c${errors} errors found.`, `color: ${this.colors.error}`);\n }\n\n this.reset();\n }\n\n reset = () => {\n this.#reports = [\n {\n title: 'Test without title, use method it to set test title.',\n messages: {},\n },\n ];\n };\n\n title(title: string): void {\n this.#reports.push({ title, messages: {} });\n\n if (this.#levels.title) {\n const color = this.colors.title;\n\n console.info(\n `%c${title}`,\n `color: ${color}; font-weight: bold; padding: 10px`,\n );\n }\n }\n\n warn(message: string): void {\n if (this.#levels.warn) {\n console.warn(message);\n this.#log('warn', message);\n }\n }\n\n setDebugLevels(levels: Partial<Record<TLogType, boolean>>): void {\n this.#levels = { ...this.#levels, ...levels };\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { EventEmitter, useMount } from '@apia/util';\nimport { CSSProperties, FC, useState } from 'react';\nimport { TestComponent } from './TestComponent';\nimport { ConsoleTestsLogger, TestsLogger } from './TestsLogger';\n\ntype TTask = {\n name: string;\n cb: () => Promise<boolean> | boolean;\n};\n\ntype TRunOptions = Partial<{\n /**\n * Delay al inicio\n */\n delay: number;\n /**\n * Cantidad de veces a ejecutar\n */\n n: number;\n /**\n * Demora entre reintentos\n */\n ms: number;\n /**\n * Omitir mensajes\n */\n silence: boolean;\n}>;\n\nexport class Test extends EventEmitter<{\n componentsListUpdated: boolean;\n componentMounted: string;\n}> {\n #components: TestComponent<any>[] = [];\n #ref: HTMLElement | null = null;\n\n logger: TestsLogger = new ConsoleTestsLogger();\n\n Component = ({ style }: { style: CSSProperties }) => {\n const [components, setComponents] = useState(this.#components);\n\n useMount(() => {\n return this.on('componentsListUpdated', () => {\n setComponents([...this.#components]);\n });\n });\n\n return (\n <div ref={(el) => (this.#ref = el)} style={{ display: 'none', ...style }}>\n {components.map((current) => (\n <current.Component\n ref={(el) => {\n if (el) this.emit('componentMounted', current.id);\n }}\n key={current.id}\n />\n ))}\n </div>\n );\n };\n\n /**\n * Devuelve el elemento html sobre el cual se están montando los tests\n */\n get root() {\n return this.#ref;\n }\n\n /**\n * Hace foco sobre un elemento del DOM y resuelve cuando puede hacer foco o\n * rompe cuando no puede hacer después de 5 intentos.\n */\n focus = (\n selector: string,\n check?: (element: HTMLElement) => boolean,\n options?: TRunOptions,\n ) => {\n const actualOptions = Object.assign({ delay: 0, ms: 250, n: 5 }, options);\n\n return new Promise<HTMLElement | null>((resolve) => {\n setTimeout(() => {\n let tries = actualOptions.n;\n const interval = setInterval(() => {\n this.logger.info(`Trying to focus with selector ${selector}`);\n tries--;\n const element = this.root?.querySelector<HTMLElement>(selector);\n\n if (element) {\n element.focus();\n\n if (check ? check(element) : element === document.activeElement) {\n clearInterval(interval);\n resolve(element);\n }\n }\n\n if (tries === 0) {\n clearInterval(interval);\n resolve(null);\n }\n }, actualOptions.ms);\n }, actualOptions.delay);\n });\n };\n\n /**\n * Anuncia un nuevo grupo de tests\n */\n it = (text: string) => {\n this.logger.title(text);\n };\n\n /**\n * Monta un componente para usarlo en el testing\n */\n mount = <T extends Record<string, unknown>>(\n name: string,\n component: FC<T>,\n initialProps: T,\n ) => {\n return new Promise<TestComponent<T>>((resolve) => {\n const newComponent = new TestComponent(\n name,\n this,\n component,\n initialProps,\n );\n this.#components.push(newComponent);\n this.emit('componentsListUpdated', true);\n const unsuscribe = this.on('componentMounted', (ev) => {\n if (ev === newComponent.id) {\n unsuscribe();\n resolve(newComponent);\n }\n });\n });\n };\n\n report = () => {\n this.logger.report();\n };\n\n #running = false;\n\n /**\n * Corre una tarea que va a intentar hasta n veces cada ms milisegundos antes\n * de resolver como fallo.\n *\n * @parameter options\n */\n should = async (\n name: string,\n cb: () => boolean | Promise<boolean>,\n options?: Omit<TRunOptions, 'silence'>,\n ) => {\n await this.wait('', () => !this.#running, { silence: true, n: 300 });\n\n this.#running = true;\n const actualOptions = Object.assign({ delay: 0, ms: 250, n: 5 }, options);\n\n return new Promise<void>((resolve) => {\n setTimeout(() => {\n let tries = actualOptions.n;\n\n const tryAgain = () => {\n window.requestAnimationFrame(() => {\n this.#run({ name, cb })\n .then((result) => {\n if (!result && tries-- > 0) {\n setTimeout(() => {\n tryAgain();\n }, actualOptions.ms);\n this.logger.warn(`[RETRY ${5 - tries}] ${name}`);\n } else if (result) {\n this.logger.success(`${name}`);\n resolve();\n this.#running = false;\n } else {\n this.logger.error(name);\n resolve();\n this.#running = false;\n }\n })\n .catch(() => {\n if (tries-- > 0) {\n setTimeout(() => {\n tryAgain();\n }, actualOptions.ms);\n this.logger.warn(`[RETRY ${5 - tries}] ${name}`);\n } else {\n this.logger.error(`[CATCH] ${name}`);\n resolve();\n this.#running = false;\n }\n });\n });\n };\n\n tryAgain();\n }, actualOptions.delay);\n });\n };\n\n unmount = (component: TestComponent<any>) => {\n this.#components = this.#components.filter(\n (current) => current !== component,\n );\n this.emit('componentsListUpdated', true);\n };\n\n /**\n * Espera por una condición a suceder, intentando n veces cada ms\n * milisegundos. La diferencia principal con should es que este método no se\n * ocupa de si un test pasa o falla, sino simplemente que trata de cumplir una\n * condición. Es especialmente útil para intentar hacer foco o esperar algún\n * evento en un futuro cercano.\n */\n wait = async (\n name: string,\n cb: () => boolean | Promise<boolean>,\n options?: TRunOptions,\n ) => {\n const actualOptions = Object.assign({ delay: 0, ms: 250, n: 5 }, options);\n\n return new Promise((resolve) => {\n setTimeout(() => {\n let tries = actualOptions.n;\n\n if (!actualOptions.silence) this.logger.info(`[WAITING] ${name}`);\n\n const tryAgain = () => {\n window.requestAnimationFrame(() => {\n if (tries-- > 0) {\n void (async () => {\n const result = await cb();\n if (!result) {\n setTimeout(() => {\n tryAgain();\n }, actualOptions.ms);\n } else {\n resolve(true);\n }\n })();\n } else {\n resolve(false);\n }\n });\n };\n\n tryAgain();\n }, actualOptions.delay);\n });\n };\n\n #run = async (task: TTask) => {\n try {\n const taskResult = await task.cb();\n\n if (taskResult) {\n return true;\n } else {\n return false;\n }\n } catch (e) {\n this.logger.error(String(e));\n return false;\n }\n };\n}\n\nexport { TestComponent, TestsLogger };\n"],"names":["__privateAdd","__publicField","__privateGet","__privateSet"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apia/testing",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.18",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"author": "Alexis Leite <alexisleite@live.com>",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -10,10 +10,12 @@
|
|
|
10
10
|
"scripts": {
|
|
11
11
|
"libDev": "rollup --config ../../config/rollup.common.mjs --environment MODE:development,ENTRY:index.tsx",
|
|
12
12
|
"libBuild": "rollup --config ../../config/rollup.common.mjs --environment MODE:production,ENTRY:index.tsx",
|
|
13
|
-
"libWatch": "rollup --watch --config ../../config/rollup.common.mjs --environment MODE:development,ENTRY:index.tsx,WATCH:true"
|
|
13
|
+
"libWatch": "rollup --watch --config ../../config/rollup.common.mjs --environment MODE:development,ENTRY:index.tsx,WATCH:true",
|
|
14
|
+
"libWatchDevExecution": "rollup --watch --config ../../config/rollup.common.mjs --environment MODE:development,ENTRY:index.tsx,WATCH:true,DEV_SERVER_MODULE:execution",
|
|
15
|
+
"libWatchDevDashboards": "rollup --watch --config ../../config/rollup.common.mjs --environment MODE:development,ENTRY:index.tsx,WATCH:true,DEV_SERVER_MODULE:dashboards"
|
|
14
16
|
},
|
|
15
17
|
"dependencies": {
|
|
16
|
-
"@apia/util": "^4.0.
|
|
18
|
+
"@apia/util": "^4.0.18"
|
|
17
19
|
},
|
|
18
20
|
"devDependencies": {
|
|
19
21
|
"@types/react": "^18.2.43",
|
|
@@ -30,5 +32,5 @@
|
|
|
30
32
|
"access": "public",
|
|
31
33
|
"registry": "https://registry.npmjs.org/"
|
|
32
34
|
},
|
|
33
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "fad102234b7b27d6622e227379eb9ccf2a751b24"
|
|
34
36
|
}
|