@sudobility/testomniac_lib 0.0.86 → 0.0.88
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/business/hooks/index.d.ts +1 -0
- package/dist/business/hooks/index.d.ts.map +1 -1
- package/dist/business/hooks/index.js +1 -0
- package/dist/business/hooks/index.js.map +1 -1
- package/dist/business/hooks/useEntityManager.d.ts.map +1 -1
- package/dist/business/hooks/useEntityManager.js +11 -4
- package/dist/business/hooks/useEntityManager.js.map +1 -1
- package/dist/business/hooks/useSequenceGenerator.d.ts +16 -0
- package/dist/business/hooks/useSequenceGenerator.d.ts.map +1 -0
- package/dist/business/hooks/useSequenceGenerator.js +34 -0
- package/dist/business/hooks/useSequenceGenerator.js.map +1 -0
- package/package.json +3 -3
|
@@ -13,4 +13,5 @@ export { useTestRunsAnalysis } from './useTestRunsAnalysis';
|
|
|
13
13
|
export type { StatusCounts, TestRunsAnalysis } from './useTestRunsAnalysis';
|
|
14
14
|
export { usePageInteractionGroups } from './usePageInteractionGroups';
|
|
15
15
|
export type { PageInteractionGroups } from './usePageInteractionGroups';
|
|
16
|
+
export { useSequenceGenerator } from './useSequenceGenerator';
|
|
16
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/business/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,WAAW,EACX,WAAW,EACX,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/business/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EACV,WAAW,EACX,WAAW,EACX,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -8,4 +8,5 @@ export { useEnvironmentManager } from './useEnvironmentManager';
|
|
|
8
8
|
export { useFindingsAnalysis } from './useFindingsAnalysis';
|
|
9
9
|
export { useTestRunsAnalysis } from './useTestRunsAnalysis';
|
|
10
10
|
export { usePageInteractionGroups } from './usePageInteractionGroups';
|
|
11
|
+
export { useSequenceGenerator } from './useSequenceGenerator';
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/business/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/business/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEntityManager.d.ts","sourceRoot":"","sources":["../../../src/business/hooks/useEntityManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"useEntityManager.d.ts","sourceRoot":"","sources":["../../../src/business/hooks/useEntityManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAIrE,UAAU,sBAAsB;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAQD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB;;;;;EA0C9D"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { useEffect, useRef } from 'react';
|
|
2
|
-
import { useEntities } from '@sudobility/testomniac_client';
|
|
2
|
+
import { QUERY_KEYS, useEntities } from '@sudobility/testomniac_client';
|
|
3
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
3
4
|
export function useEntityManager(config) {
|
|
4
5
|
const { networkClient, baseUrl, token, enabled = true } = config;
|
|
6
|
+
const queryClient = useQueryClient();
|
|
5
7
|
const { entities, isLoading, error, refetch } = useEntities({
|
|
6
8
|
networkClient,
|
|
7
9
|
baseUrl,
|
|
@@ -9,6 +11,14 @@ export function useEntityManager(config) {
|
|
|
9
11
|
enabled,
|
|
10
12
|
});
|
|
11
13
|
const retried = useRef(false);
|
|
14
|
+
const prevToken = useRef(token);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
if (token !== prevToken.current) {
|
|
17
|
+
prevToken.current = token;
|
|
18
|
+
retried.current = false;
|
|
19
|
+
queryClient.removeQueries({ queryKey: QUERY_KEYS.entities() });
|
|
20
|
+
}
|
|
21
|
+
}, [token, queryClient]);
|
|
12
22
|
useEffect(() => {
|
|
13
23
|
if (isLoading || !enabled || retried.current)
|
|
14
24
|
return undefined;
|
|
@@ -21,9 +31,6 @@ export function useEntityManager(config) {
|
|
|
21
31
|
}
|
|
22
32
|
return undefined;
|
|
23
33
|
}, [entities.length, isLoading, enabled, error, refetch]);
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
retried.current = false;
|
|
26
|
-
}, [token]);
|
|
27
34
|
return {
|
|
28
35
|
entities,
|
|
29
36
|
isLoading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEntityManager.js","sourceRoot":"","sources":["../../../src/business/hooks/useEntityManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"useEntityManager.js","sourceRoot":"","sources":["../../../src/business/hooks/useEntityManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAevD,MAAM,UAAU,gBAAgB,CAAC,MAA8B;IAC7D,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IACjE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC;QAC1D,aAAa;QACb,OAAO;QACP,KAAK;QACL,OAAO;KACR,CAAC,CAAC;IAGH,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAI9B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;YAChC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;YAC1B,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YACxB,WAAW,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IACzB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YACvB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,KAAK,OAAO,EAAE,CAAC;YACjB,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1D,OAAO;QACL,QAAQ;QACR,SAAS;QACT,KAAK;QACL,eAAe,EAAE,OAAO;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { NetworkClient } from '@sudobility/types';
|
|
2
|
+
import type { GenerateSequenceResponse } from '@sudobility/testomniac_types';
|
|
3
|
+
import type { FirebaseIdToken } from '@sudobility/testomniac_client';
|
|
4
|
+
interface UseSequenceGeneratorConfig {
|
|
5
|
+
networkClient: NetworkClient;
|
|
6
|
+
baseUrl: string;
|
|
7
|
+
token: FirebaseIdToken;
|
|
8
|
+
}
|
|
9
|
+
export declare function useSequenceGenerator(config: UseSequenceGeneratorConfig): {
|
|
10
|
+
generate: (scenarioId: number, testEnvironmentId: number) => Promise<GenerateSequenceResponse | null>;
|
|
11
|
+
isGenerating: boolean;
|
|
12
|
+
error: string | null;
|
|
13
|
+
result: GenerateSequenceResponse | null;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=useSequenceGenerator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSequenceGenerator.d.ts","sourceRoot":"","sources":["../../../src/business/hooks/useSequenceGenerator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,UAAU,0BAA0B;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,0BAA0B;2BAOhD,MAAM,qBAAqB,MAAM;;;;EA+BvD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useCallback, useState } from 'react';
|
|
2
|
+
import { TestomniacClient } from '@sudobility/testomniac_client';
|
|
3
|
+
export function useSequenceGenerator(config) {
|
|
4
|
+
const { networkClient, baseUrl, token } = config;
|
|
5
|
+
const [isGenerating, setIsGenerating] = useState(false);
|
|
6
|
+
const [error, setError] = useState(null);
|
|
7
|
+
const [result, setResult] = useState(null);
|
|
8
|
+
const generate = useCallback(async (scenarioId, testEnvironmentId) => {
|
|
9
|
+
setIsGenerating(true);
|
|
10
|
+
setError(null);
|
|
11
|
+
setResult(null);
|
|
12
|
+
try {
|
|
13
|
+
const client = new TestomniacClient({ networkClient, baseUrl });
|
|
14
|
+
const response = await client.generateSequence(scenarioId, { testEnvironmentId }, token);
|
|
15
|
+
if (response.success && response.data) {
|
|
16
|
+
setResult(response.data);
|
|
17
|
+
return response.data;
|
|
18
|
+
}
|
|
19
|
+
const msg = response.error ?? 'Failed to generate sequence';
|
|
20
|
+
setError(msg);
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
const msg = err instanceof Error ? err.message : 'Failed to generate sequence';
|
|
25
|
+
setError(msg);
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
setIsGenerating(false);
|
|
30
|
+
}
|
|
31
|
+
}, [networkClient, baseUrl, token]);
|
|
32
|
+
return { generate, isGenerating, error, result };
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=useSequenceGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSequenceGenerator.js","sourceRoot":"","sources":["../../../src/business/hooks/useSequenceGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAI9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQjE,MAAM,UAAU,oBAAoB,CAAC,MAAkC;IACrE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAkC,IAAI,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,WAAW,CAC1B,KAAK,EAAE,UAAkB,EAAE,iBAAyB,EAAE,EAAE;QACtD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAC5C,UAAU,EACV,EAAE,iBAAiB,EAAE,EACrB,KAAK,CACN,CAAC;YACF,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzB,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,6BAA6B,CAAC;YAC5D,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GACP,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC;YACrE,QAAQ,CAAC,GAAG,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EACD,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAChC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACnD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sudobility/testomniac_lib",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.88",
|
|
4
4
|
"description": "Testomniac business logic library with Zustand stores",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@eslint/js": "^9.38.0",
|
|
45
|
-
"@sudobility/testomniac_client": "^0.0.
|
|
46
|
-
"@sudobility/testomniac_types": "^0.0.
|
|
45
|
+
"@sudobility/testomniac_client": "^0.0.83",
|
|
46
|
+
"@sudobility/testomniac_types": "^0.0.63",
|
|
47
47
|
"@sudobility/types": "^1.9.62",
|
|
48
48
|
"@tanstack/react-query": "^5.90.5",
|
|
49
49
|
"@testing-library/react": "^16.3.2",
|