@memberjunction/testing-cli 6.1.4 → 6.2.0-edge.1
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/commands/compare.d.ts +2 -0
- package/dist/commands/compare.d.ts.map +1 -1
- package/dist/commands/compare.js +10 -6
- package/dist/commands/compare.js.map +1 -1
- package/dist/commands/history.d.ts +2 -0
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +5 -1
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/list.d.ts +2 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +10 -6
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/report.d.ts +2 -0
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +5 -1
- package/dist/commands/report.js.map +1 -1
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +28 -24
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/scripts.d.ts +28 -0
- package/dist/commands/scripts.d.ts.map +1 -0
- package/dist/commands/scripts.js +155 -0
- package/dist/commands/scripts.js.map +1 -0
- package/dist/commands/suite.d.ts +2 -0
- package/dist/commands/suite.d.ts.map +1 -1
- package/dist/commands/suite.js +25 -21
- package/dist/commands/suite.js.map +1 -1
- package/dist/commands/validate.d.ts +2 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +10 -6
- package/dist/commands/validate.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/mj-provider.d.ts +8 -0
- package/dist/lib/mj-provider.d.ts.map +1 -1
- package/dist/lib/mj-provider.js +22 -6
- package/dist/lib/mj-provider.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/check-module-loader.d.ts +5 -3
- package/dist/utils/check-module-loader.d.ts.map +1 -1
- package/dist/utils/check-module-loader.js +9 -5
- package/dist/utils/check-module-loader.js.map +1 -1
- package/dist/utils/config-loader.d.ts +4 -0
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +10 -2
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/oracle-module-loader.d.ts +5 -3
- package/dist/utils/oracle-module-loader.d.ts.map +1 -1
- package/dist/utils/oracle-module-loader.js +6 -2
- package/dist/utils/oracle-module-loader.js.map +1 -1
- package/dist/utils/output-formatter.d.ts +14 -0
- package/dist/utils/output-formatter.d.ts.map +1 -1
- package/dist/utils/output-formatter.js +35 -7
- package/dist/utils/output-formatter.js.map +1 -1
- package/dist/utils/script-drift.d.ts +41 -0
- package/dist/utils/script-drift.d.ts.map +1 -0
- package/dist/utils/script-drift.js +159 -0
- package/dist/utils/script-drift.js.map +1 -0
- package/dist/utils/spinner-manager.d.ts +16 -0
- package/dist/utils/spinner-manager.d.ts.map +1 -1
- package/dist/utils/spinner-manager.js +40 -8
- package/dist/utils/spinner-manager.js.map +1 -1
- package/dist/utils/variable-parser.d.ts +4 -0
- package/dist/utils/variable-parser.d.ts.map +1 -1
- package/dist/utils/variable-parser.js +10 -2
- package/dist/utils/variable-parser.js.map +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Structural diff between a promoted replay script and a pending one
|
|
3
|
+
* @module @memberjunction/testing-cli
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Compare a pending script against the promoted one it would replace.
|
|
7
|
+
*
|
|
8
|
+
* Deliberately a dependency-light structural summary rather than the engine's own
|
|
9
|
+
* `diffTraces`: this package would otherwise need `@memberjunction/computer-use`,
|
|
10
|
+
* which carries a Playwright peer dependency the test CLI has no other use for.
|
|
11
|
+
* Both read the same fields, and this one only has to be good enough for a human
|
|
12
|
+
* to decide with.
|
|
13
|
+
*/
|
|
14
|
+
export function SummarizeScriptDrift(promoted, pending) {
|
|
15
|
+
if (!promoted) {
|
|
16
|
+
return {
|
|
17
|
+
AddedSteps: pending.Steps?.length ?? 0,
|
|
18
|
+
RemovedSteps: 0,
|
|
19
|
+
Changes: [],
|
|
20
|
+
MeaningfulDrift: 0,
|
|
21
|
+
Summary: `new script — ${pending.Steps?.length ?? 0} step(s), no promoted script to compare against`,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const before = promoted.Steps ?? [];
|
|
25
|
+
const after = pending.Steps ?? [];
|
|
26
|
+
const changes = [];
|
|
27
|
+
for (let i = 0; i < Math.min(before.length, after.length); i++) {
|
|
28
|
+
const change = compareStep(i, before[i], after[i]);
|
|
29
|
+
if (change) {
|
|
30
|
+
changes.push(change);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const addedSteps = Math.max(0, after.length - before.length);
|
|
34
|
+
const removedSteps = Math.max(0, before.length - after.length);
|
|
35
|
+
const meaningfulDrift = changes.filter(c => c.kind !== 'selector-drift').length + addedSteps + removedSteps;
|
|
36
|
+
return { AddedSteps: addedSteps, RemovedSteps: removedSteps, Changes: changes, MeaningfulDrift: meaningfulDrift, Summary: buildSummary(changes, addedSteps, removedSteps, meaningfulDrift) };
|
|
37
|
+
}
|
|
38
|
+
/** @deprecated Use {@link SummarizeScriptDrift}. */
|
|
39
|
+
export function summarizeScriptDrift(promoted, pending) {
|
|
40
|
+
return SummarizeScriptDrift(promoted, pending);
|
|
41
|
+
}
|
|
42
|
+
/** The first difference that matters, or null when the two steps agree. */
|
|
43
|
+
function compareStep(index, before, after) {
|
|
44
|
+
if (before.Action?.Method !== after.Action?.Method) {
|
|
45
|
+
return { index, kind: 'method-changed', detail: `${before.Action?.Method} → ${after.Action?.Method}` };
|
|
46
|
+
}
|
|
47
|
+
if (normalizeUrl(before.Action?.Url) !== normalizeUrl(after.Action?.Url)) {
|
|
48
|
+
return { index, kind: 'url-changed', detail: `${before.Action?.Url ?? '(none)'} → ${after.Action?.Url ?? '(none)'}` };
|
|
49
|
+
}
|
|
50
|
+
// The engine's diffTraces labels a changed entry URL `url-changed` too. Using
|
|
51
|
+
// the same word for only Action.Url meant a step that starts somewhere else
|
|
52
|
+
// entirely was reported as identical.
|
|
53
|
+
if (normalizeUrl(before.UrlBefore) !== normalizeUrl(after.UrlBefore)) {
|
|
54
|
+
return { index, kind: 'url-changed', detail: `entry ${before.UrlBefore ?? '(none)'} → ${after.UrlBefore ?? '(none)'}` };
|
|
55
|
+
}
|
|
56
|
+
const b = before.Action?.Target;
|
|
57
|
+
const a = after.Action?.Target;
|
|
58
|
+
if ((b?.Role ?? '') !== (a?.Role ?? '') || (b?.Name ?? '') !== (a?.Name ?? '')) {
|
|
59
|
+
return {
|
|
60
|
+
index,
|
|
61
|
+
kind: 'target-changed',
|
|
62
|
+
detail: `${describeTarget(b?.Role, b?.Name)} → ${describeTarget(a?.Role, a?.Name)}`,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
// Scope is part of the target's identity — it is what tells same-named twins
|
|
66
|
+
// apart — so a changed region is the UI moving, not selector churn.
|
|
67
|
+
if ((b?.Scope ?? '') !== (a?.Scope ?? '')) {
|
|
68
|
+
return { index, kind: 'target-changed', detail: `scope ${b?.Scope ?? '(none)'} → ${a?.Scope ?? '(none)'}` };
|
|
69
|
+
}
|
|
70
|
+
// What the step actually enters. A recording that types a different value, or
|
|
71
|
+
// stops pressing Enter, is a behavioural change however stable its selector.
|
|
72
|
+
const inputDrift = compareInput(before, after);
|
|
73
|
+
if (inputDrift) {
|
|
74
|
+
return { index, ...inputDrift };
|
|
75
|
+
}
|
|
76
|
+
// What the step asserts. A dropped or rewritten guard is how a script quietly
|
|
77
|
+
// stops checking the thing it was recorded to check.
|
|
78
|
+
const guardDrift = compareGuards(before, after);
|
|
79
|
+
if (guardDrift) {
|
|
80
|
+
return { index, ...guardDrift };
|
|
81
|
+
}
|
|
82
|
+
if ((b?.Selector ?? '') !== (a?.Selector ?? '')) {
|
|
83
|
+
return { index, kind: 'selector-drift', detail: `${b?.Selector ?? '(none)'} → ${a?.Selector ?? '(none)'}` };
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
/** Text / Key / PressEnter — the payload the step delivers. */
|
|
88
|
+
function compareInput(before, after) {
|
|
89
|
+
const fields = ['Text', 'Key'];
|
|
90
|
+
for (const field of fields) {
|
|
91
|
+
const b = before.Action?.[field] ?? '';
|
|
92
|
+
const a = after.Action?.[field] ?? '';
|
|
93
|
+
if (b !== a) {
|
|
94
|
+
return { kind: 'input-changed', detail: `${field} "${b}" → "${a}"` };
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if ((before.Action?.PressEnter ?? false) !== (after.Action?.PressEnter ?? false)) {
|
|
98
|
+
return { kind: 'input-changed', detail: `PressEnter ${before.Action?.PressEnter ?? false} → ${after.Action?.PressEnter ?? false}` };
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
/** Precondition / Postcondition — what the step waits for and what it proves. */
|
|
103
|
+
function compareGuards(before, after) {
|
|
104
|
+
const pre = describeGuard(before.Precondition);
|
|
105
|
+
const preAfter = describeGuard(after.Precondition);
|
|
106
|
+
if (pre !== preAfter) {
|
|
107
|
+
return { kind: 'guard-changed', detail: `precondition ${pre} → ${preAfter}` };
|
|
108
|
+
}
|
|
109
|
+
const post = describeGuard(before.Postcondition);
|
|
110
|
+
const postAfter = describeGuard(after.Postcondition);
|
|
111
|
+
if (post !== postAfter) {
|
|
112
|
+
return { kind: 'guard-changed', detail: `postcondition ${post} → ${postAfter}` };
|
|
113
|
+
}
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
/** Stable text for a guard, with URL patterns normalized so token churn is not drift. */
|
|
117
|
+
function describeGuard(guard) {
|
|
118
|
+
if (!guard) {
|
|
119
|
+
return '(none)';
|
|
120
|
+
}
|
|
121
|
+
const g = guard;
|
|
122
|
+
const parts = Object.keys(g)
|
|
123
|
+
.sort()
|
|
124
|
+
.filter(k => g[k] !== undefined)
|
|
125
|
+
.map(k => `${k}=${k.endsWith('UrlPattern') ? normalizeUrl(String(g[k])) : String(g[k])}`);
|
|
126
|
+
return parts.length > 0 ? parts.join(',') : '(none)';
|
|
127
|
+
}
|
|
128
|
+
function describeTarget(role, name) {
|
|
129
|
+
if (!role && !name) {
|
|
130
|
+
return '(no target)';
|
|
131
|
+
}
|
|
132
|
+
return `${role ?? '?'} "${name ?? ''}"`;
|
|
133
|
+
}
|
|
134
|
+
/** Recording already tokenizes UUIDs, so a raw compare is enough here. */
|
|
135
|
+
function normalizeUrl(url) {
|
|
136
|
+
return (url ?? '').trim();
|
|
137
|
+
}
|
|
138
|
+
function buildSummary(changes, added, removed, meaningful) {
|
|
139
|
+
if (changes.length === 0 && added === 0 && removed === 0) {
|
|
140
|
+
return 'identical to the promoted script';
|
|
141
|
+
}
|
|
142
|
+
const parts = [];
|
|
143
|
+
if (added > 0) {
|
|
144
|
+
parts.push(`${added} step(s) added`);
|
|
145
|
+
}
|
|
146
|
+
if (removed > 0) {
|
|
147
|
+
parts.push(`${removed} step(s) removed`);
|
|
148
|
+
}
|
|
149
|
+
const selectorOnly = changes.filter(c => c.kind === 'selector-drift').length;
|
|
150
|
+
if (selectorOnly > 0) {
|
|
151
|
+
parts.push(`${selectorOnly} selector-only change(s)`);
|
|
152
|
+
}
|
|
153
|
+
const structural = changes.length - selectorOnly;
|
|
154
|
+
if (structural > 0) {
|
|
155
|
+
parts.push(`${structural} target/verb/URL change(s)`);
|
|
156
|
+
}
|
|
157
|
+
return `${parts.join(', ')} — ${meaningful === 0 ? 'routine churn' : `${meaningful} meaningful`}`;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=script-drift.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-drift.js","sourceRoot":"","sources":["../../src/utils/script-drift.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,34 +10,50 @@ export declare class SpinnerManager {
|
|
|
10
10
|
/**
|
|
11
11
|
* Start a spinner with the given message
|
|
12
12
|
*/
|
|
13
|
+
Start(message: string): void;
|
|
14
|
+
/** @deprecated Use {@link Start}. */
|
|
13
15
|
start(message: string): void;
|
|
14
16
|
/**
|
|
15
17
|
* Update spinner message
|
|
16
18
|
*/
|
|
19
|
+
Update(message: string): void;
|
|
20
|
+
/** @deprecated Use {@link Update}. */
|
|
17
21
|
update(message: string): void;
|
|
18
22
|
/**
|
|
19
23
|
* Stop spinner with success message
|
|
20
24
|
*/
|
|
25
|
+
Succeed(message?: string): void;
|
|
26
|
+
/** @deprecated Use {@link Succeed}. */
|
|
21
27
|
succeed(message?: string): void;
|
|
22
28
|
/**
|
|
23
29
|
* Stop spinner with failure message
|
|
24
30
|
*/
|
|
31
|
+
Fail(message?: string): void;
|
|
32
|
+
/** @deprecated Use {@link Fail}. */
|
|
25
33
|
fail(message?: string): void;
|
|
26
34
|
/**
|
|
27
35
|
* Stop spinner with warning message
|
|
28
36
|
*/
|
|
37
|
+
Warn(message?: string): void;
|
|
38
|
+
/** @deprecated Use {@link Warn}. */
|
|
29
39
|
warn(message?: string): void;
|
|
30
40
|
/**
|
|
31
41
|
* Stop spinner with info message
|
|
32
42
|
*/
|
|
43
|
+
Info(message?: string): void;
|
|
44
|
+
/** @deprecated Use {@link Info}. */
|
|
33
45
|
info(message?: string): void;
|
|
34
46
|
/**
|
|
35
47
|
* Stop spinner without any message
|
|
36
48
|
*/
|
|
49
|
+
Stop(): void;
|
|
50
|
+
/** @deprecated Use {@link Stop}. */
|
|
37
51
|
stop(): void;
|
|
38
52
|
/**
|
|
39
53
|
* Check if spinner is currently running
|
|
40
54
|
*/
|
|
55
|
+
get IsSpinning(): boolean;
|
|
56
|
+
/** @deprecated Use {@link IsSpinning}. */
|
|
41
57
|
get isSpinning(): boolean;
|
|
42
58
|
}
|
|
43
59
|
//# sourceMappingURL=spinner-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner-manager.d.ts","sourceRoot":"","sources":["../../src/utils/spinner-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAoB;IAEnC;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO5B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM7B;;OAEG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAO/B;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5B;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5B;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5B;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;CACJ"}
|
|
1
|
+
{"version":3,"file":"spinner-manager.d.ts","sourceRoot":"","sources":["../../src/utils/spinner-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,OAAO,CAAoB;IAEnC;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO5B,qCAAqC;IACrC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM7B,sCAAsC;IACtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAO/B,uCAAuC;IACvC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5B,oCAAoC;IACpC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5B,oCAAoC;IACpC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5B,oCAAoC;IACpC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ,oCAAoC;IACpC,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,0CAA0C;IAC1C,IAAI,UAAU,IAAI,OAAO,CAExB;CACJ"}
|
|
@@ -13,70 +13,102 @@ export class SpinnerManager {
|
|
|
13
13
|
/**
|
|
14
14
|
* Start a spinner with the given message
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
Start(message) {
|
|
17
17
|
if (this.spinner) {
|
|
18
18
|
this.spinner.stop();
|
|
19
19
|
}
|
|
20
20
|
this.spinner = ora(message).start();
|
|
21
21
|
}
|
|
22
|
+
/** @deprecated Use {@link Start}. */
|
|
23
|
+
start(message) {
|
|
24
|
+
return this.Start(message);
|
|
25
|
+
}
|
|
22
26
|
/**
|
|
23
27
|
* Update spinner message
|
|
24
28
|
*/
|
|
25
|
-
|
|
29
|
+
Update(message) {
|
|
26
30
|
if (this.spinner) {
|
|
27
31
|
this.spinner.text = message;
|
|
28
32
|
}
|
|
29
33
|
}
|
|
34
|
+
/** @deprecated Use {@link Update}. */
|
|
35
|
+
update(message) {
|
|
36
|
+
return this.Update(message);
|
|
37
|
+
}
|
|
30
38
|
/**
|
|
31
39
|
* Stop spinner with success message
|
|
32
40
|
*/
|
|
33
|
-
|
|
41
|
+
Succeed(message) {
|
|
34
42
|
if (this.spinner) {
|
|
35
43
|
this.spinner.succeed(message);
|
|
36
44
|
this.spinner = null;
|
|
37
45
|
}
|
|
38
46
|
}
|
|
47
|
+
/** @deprecated Use {@link Succeed}. */
|
|
48
|
+
succeed(message) {
|
|
49
|
+
return this.Succeed(message);
|
|
50
|
+
}
|
|
39
51
|
/**
|
|
40
52
|
* Stop spinner with failure message
|
|
41
53
|
*/
|
|
42
|
-
|
|
54
|
+
Fail(message) {
|
|
43
55
|
if (this.spinner) {
|
|
44
56
|
this.spinner.fail(message);
|
|
45
57
|
this.spinner = null;
|
|
46
58
|
}
|
|
47
59
|
}
|
|
60
|
+
/** @deprecated Use {@link Fail}. */
|
|
61
|
+
fail(message) {
|
|
62
|
+
return this.Fail(message);
|
|
63
|
+
}
|
|
48
64
|
/**
|
|
49
65
|
* Stop spinner with warning message
|
|
50
66
|
*/
|
|
51
|
-
|
|
67
|
+
Warn(message) {
|
|
52
68
|
if (this.spinner) {
|
|
53
69
|
this.spinner.warn(message);
|
|
54
70
|
this.spinner = null;
|
|
55
71
|
}
|
|
56
72
|
}
|
|
73
|
+
/** @deprecated Use {@link Warn}. */
|
|
74
|
+
warn(message) {
|
|
75
|
+
return this.Warn(message);
|
|
76
|
+
}
|
|
57
77
|
/**
|
|
58
78
|
* Stop spinner with info message
|
|
59
79
|
*/
|
|
60
|
-
|
|
80
|
+
Info(message) {
|
|
61
81
|
if (this.spinner) {
|
|
62
82
|
this.spinner.info(message);
|
|
63
83
|
this.spinner = null;
|
|
64
84
|
}
|
|
65
85
|
}
|
|
86
|
+
/** @deprecated Use {@link Info}. */
|
|
87
|
+
info(message) {
|
|
88
|
+
return this.Info(message);
|
|
89
|
+
}
|
|
66
90
|
/**
|
|
67
91
|
* Stop spinner without any message
|
|
68
92
|
*/
|
|
69
|
-
|
|
93
|
+
Stop() {
|
|
70
94
|
if (this.spinner) {
|
|
71
95
|
this.spinner.stop();
|
|
72
96
|
this.spinner = null;
|
|
73
97
|
}
|
|
74
98
|
}
|
|
99
|
+
/** @deprecated Use {@link Stop}. */
|
|
100
|
+
stop() {
|
|
101
|
+
return this.Stop();
|
|
102
|
+
}
|
|
75
103
|
/**
|
|
76
104
|
* Check if spinner is currently running
|
|
77
105
|
*/
|
|
78
|
-
get
|
|
106
|
+
get IsSpinning() {
|
|
79
107
|
return this.spinner !== null;
|
|
80
108
|
}
|
|
109
|
+
/** @deprecated Use {@link IsSpinning}. */
|
|
110
|
+
get isSpinning() {
|
|
111
|
+
return this.IsSpinning;
|
|
112
|
+
}
|
|
81
113
|
}
|
|
82
114
|
//# sourceMappingURL=spinner-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner-manager.js","sourceRoot":"","sources":["../../src/utils/spinner-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,GAAG,MAAM,aAAa,CAAC;AAG9B;;GAEG;AACH,MAAM,OAAO,cAAc;IAA3B;QACY,YAAO,GAAe,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"spinner-manager.js","sourceRoot":"","sources":["../../src/utils/spinner-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@ import { TestVariableValue } from '@memberjunction/testing-engine-base';
|
|
|
11
11
|
* @param testTypeVariablesSchema - Optional type schema for type conversion
|
|
12
12
|
* @returns Parsed variables object
|
|
13
13
|
*/
|
|
14
|
+
export declare function ParseVariableFlags(varFlags: string[] | undefined, testTypeVariablesSchema?: string | null): Record<string, TestVariableValue> | undefined;
|
|
15
|
+
/** @deprecated Use {@link ParseVariableFlags}. */
|
|
14
16
|
export declare function parseVariableFlags(varFlags: string[] | undefined, testTypeVariablesSchema?: string | null): Record<string, TestVariableValue> | undefined;
|
|
15
17
|
/**
|
|
16
18
|
* Get the variables schema for a test (from its test type).
|
|
@@ -19,5 +21,7 @@ export declare function parseVariableFlags(varFlags: string[] | undefined, testT
|
|
|
19
21
|
* @param testId - Test ID
|
|
20
22
|
* @returns Variables schema JSON string or null
|
|
21
23
|
*/
|
|
24
|
+
export declare function GetTestVariablesSchema(engine: TestEngine, testId: string): string | null;
|
|
25
|
+
/** @deprecated Use {@link GetTestVariablesSchema}. */
|
|
22
26
|
export declare function getTestVariablesSchema(engine: TestEngine, testId: string): string | null;
|
|
23
27
|
//# sourceMappingURL=variable-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable-parser.d.ts","sourceRoot":"","sources":["../../src/utils/variable-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAoB,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAC9B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,GACxC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,SAAS,CAO/C;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAYf"}
|
|
1
|
+
{"version":3,"file":"variable-parser.d.ts","sourceRoot":"","sources":["../../src/utils/variable-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAoB,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAC9B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,GACxC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,SAAS,CAO/C;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAC9B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,EAC9B,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,GACxC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,SAAS,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAYf;AAED,sDAAsD;AACtD,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACf,MAAM,GAAG,IAAI,CAEf"}
|
|
@@ -10,13 +10,17 @@ import { VariableResolver } from '@memberjunction/testing-engine';
|
|
|
10
10
|
* @param testTypeVariablesSchema - Optional type schema for type conversion
|
|
11
11
|
* @returns Parsed variables object
|
|
12
12
|
*/
|
|
13
|
-
export function
|
|
13
|
+
export function ParseVariableFlags(varFlags, testTypeVariablesSchema) {
|
|
14
14
|
if (!varFlags || varFlags.length === 0) {
|
|
15
15
|
return undefined;
|
|
16
16
|
}
|
|
17
17
|
const resolver = new VariableResolver();
|
|
18
18
|
return resolver.parseCliVariables(varFlags, testTypeVariablesSchema);
|
|
19
19
|
}
|
|
20
|
+
/** @deprecated Use {@link ParseVariableFlags}. */
|
|
21
|
+
export function parseVariableFlags(varFlags, testTypeVariablesSchema) {
|
|
22
|
+
return ParseVariableFlags(varFlags, testTypeVariablesSchema);
|
|
23
|
+
}
|
|
20
24
|
/**
|
|
21
25
|
* Get the variables schema for a test (from its test type).
|
|
22
26
|
*
|
|
@@ -24,7 +28,7 @@ export function parseVariableFlags(varFlags, testTypeVariablesSchema) {
|
|
|
24
28
|
* @param testId - Test ID
|
|
25
29
|
* @returns Variables schema JSON string or null
|
|
26
30
|
*/
|
|
27
|
-
export function
|
|
31
|
+
export function GetTestVariablesSchema(engine, testId) {
|
|
28
32
|
const test = engine.GetTestByID(testId);
|
|
29
33
|
if (!test) {
|
|
30
34
|
return null;
|
|
@@ -35,4 +39,8 @@ export function getTestVariablesSchema(engine, testId) {
|
|
|
35
39
|
}
|
|
36
40
|
return testType.VariablesSchema;
|
|
37
41
|
}
|
|
42
|
+
/** @deprecated Use {@link GetTestVariablesSchema}. */
|
|
43
|
+
export function getTestVariablesSchema(engine, testId) {
|
|
44
|
+
return GetTestVariablesSchema(engine, testId);
|
|
45
|
+
}
|
|
38
46
|
//# sourceMappingURL=variable-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable-parser.js","sourceRoot":"","sources":["../../src/utils/variable-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAc,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAG9E;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAC9B,QAA8B,EAC9B,uBAAuC;IAEvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACxC,OAAO,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAClC,MAAkB,EAClB,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,QAAQ,CAAC,eAAe,CAAC;AACpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"variable-parser.js","sourceRoot":"","sources":["../../src/utils/variable-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAc,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAG9E;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAC9B,QAA8B,EAC9B,uBAAuC;IAEvC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACxC,OAAO,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;AACzE,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,kBAAkB,CAC9B,QAA8B,EAC9B,uBAAuC;IAEvC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,uBAAuB,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAClC,MAAkB,EAClB,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,QAAQ,CAAC,eAAe,CAAC;AACpC,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,sBAAsB,CAClC,MAAkB,EAClB,MAAc;IAEd,OAAO,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/testing-cli",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.1
|
|
4
|
+
"version": "6.2.0-edge.1",
|
|
5
5
|
"description": "MemberJunction Testing Framework CLI - Command-line interface for test execution and management",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -17,15 +17,15 @@
|
|
|
17
17
|
"@types/mssql": "^9.1.9"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@memberjunction/global": "6.1
|
|
21
|
-
"@memberjunction/core": "6.1
|
|
22
|
-
"@memberjunction/dynamic-packages": "6.1
|
|
23
|
-
"@memberjunction/core-entities": "6.1
|
|
24
|
-
"@memberjunction/testing-engine": "6.1
|
|
25
|
-
"@memberjunction/testing-engine-base": "6.1
|
|
26
|
-
"@memberjunction/testing-integration": "6.1
|
|
27
|
-
"@memberjunction/generic-database-provider": "6.1
|
|
28
|
-
"@memberjunction/sqlserver-dataprovider": "6.1
|
|
20
|
+
"@memberjunction/global": "6.2.0-edge.1",
|
|
21
|
+
"@memberjunction/core": "6.2.0-edge.1",
|
|
22
|
+
"@memberjunction/dynamic-packages": "6.2.0-edge.1",
|
|
23
|
+
"@memberjunction/core-entities": "6.2.0-edge.1",
|
|
24
|
+
"@memberjunction/testing-engine": "6.2.0-edge.1",
|
|
25
|
+
"@memberjunction/testing-engine-base": "6.2.0-edge.1",
|
|
26
|
+
"@memberjunction/testing-integration": "6.2.0-edge.1",
|
|
27
|
+
"@memberjunction/generic-database-provider": "6.2.0-edge.1",
|
|
28
|
+
"@memberjunction/sqlserver-dataprovider": "6.2.0-edge.1",
|
|
29
29
|
"@oclif/core": "^3.27.0",
|
|
30
30
|
"ora-classic": "^5.4.2",
|
|
31
31
|
"chalk": "^5.6.2",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"url": "https://github.com/MemberJunction/MJ"
|
|
41
41
|
},
|
|
42
42
|
"optionalDependencies": {
|
|
43
|
-
"@memberjunction/postgresql-dataprovider": "6.1
|
|
43
|
+
"@memberjunction/postgresql-dataprovider": "6.2.0-edge.1"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"start": "ts-node-dev src/index.ts",
|