@xivdyetools/test-utils 1.1.2 → 1.1.4
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/auth/signature.d.ts +2 -2
- package/dist/auth/signature.d.ts.map +1 -1
- package/dist/auth/signature.js +2 -2
- package/dist/auth/signature.js.map +1 -1
- package/dist/cloudflare/d1.d.ts.map +1 -1
- package/dist/cloudflare/d1.js +8 -6
- package/dist/cloudflare/d1.js.map +1 -1
- package/dist/factories/category.js +5 -5
- package/dist/factories/category.js.map +1 -1
- package/dist/factories/dye.js +2 -2
- package/dist/factories/dye.js.map +1 -1
- package/dist/factories/index.d.ts +1 -1
- package/dist/factories/index.d.ts.map +1 -1
- package/dist/factories/index.js +1 -1
- package/dist/factories/index.js.map +1 -1
- package/dist/utils/counters.d.ts +3 -30
- package/dist/utils/counters.d.ts.map +1 -1
- package/dist/utils/counters.js +3 -47
- package/dist/utils/counters.js.map +1 -1
- package/package.json +4 -4
package/dist/auth/signature.d.ts
CHANGED
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
* };
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
|
-
/** Default signing secret for tests */
|
|
28
|
-
export declare const TEST_SIGNING_SECRET = "test-signing-secret";
|
|
27
|
+
/** Default signing secret for tests (>= 32 bytes for FINDING-009 HMAC minimum) */
|
|
28
|
+
export declare const TEST_SIGNING_SECRET = "test-signing-secret-at-least-32-bytes!!!";
|
|
29
29
|
/**
|
|
30
30
|
* Creates an HMAC-SHA256 signature for bot authentication
|
|
31
31
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/auth/signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/auth/signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,6CAA6C,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC,MAAM,CAAC,CAejB;AAED;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAInD;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC,OAAO,CAAC,CAGlB"}
|
package/dist/auth/signature.js
CHANGED
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
27
|
import { bytesToHex } from '../utils/crypto.js';
|
|
28
|
-
/** Default signing secret for tests */
|
|
29
|
-
export const TEST_SIGNING_SECRET = 'test-signing-secret';
|
|
28
|
+
/** Default signing secret for tests (>= 32 bytes for FINDING-009 HMAC minimum) */
|
|
29
|
+
export const TEST_SIGNING_SECRET = 'test-signing-secret-at-least-32-bytes!!!';
|
|
30
30
|
/**
|
|
31
31
|
* Creates an HMAC-SHA256 signature for bot authentication
|
|
32
32
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/auth/signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/auth/signature.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,kFAAkF;AAClF,MAAM,CAAC,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,SAAiB,mBAAmB;IAEpC,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,aAAa,IAAI,QAAQ,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAElC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjF,OAAO,UAAU,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,aAAqB,EACrB,QAAgB,EAChB,SAAiB,mBAAmB;IAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,SAAiB,EACjB,aAAqB,EACrB,QAAgB,EAChB,SAAiB,mBAAmB;IAEpC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtF,OAAO,SAAS,KAAK,QAAQ,CAAC;AAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d1.d.ts","sourceRoot":"","sources":["../../src/cloudflare/d1.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"d1.d.ts","sourceRoot":"","sources":["../../src/cloudflare/d1.ts"],"names":[],"mappings":"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"}
|
package/dist/cloudflare/d1.js
CHANGED
|
@@ -75,11 +75,11 @@ export function createMockD1Database(config) {
|
|
|
75
75
|
const statement = {
|
|
76
76
|
bind: (...values) => {
|
|
77
77
|
boundValues = values;
|
|
78
|
-
bindings.push(values);
|
|
79
78
|
return statement;
|
|
80
79
|
},
|
|
81
80
|
first: async () => {
|
|
82
81
|
queries.push(query);
|
|
82
|
+
bindings.push(boundValues);
|
|
83
83
|
enforceMaxHistory();
|
|
84
84
|
// Special handling for ban-check queries (SELECT 1 FROM banned_users)
|
|
85
85
|
// to prevent false ban detection in middleware.
|
|
@@ -107,6 +107,7 @@ export function createMockD1Database(config) {
|
|
|
107
107
|
},
|
|
108
108
|
all: async () => {
|
|
109
109
|
queries.push(query);
|
|
110
|
+
bindings.push(boundValues);
|
|
110
111
|
enforceMaxHistory();
|
|
111
112
|
if (mockFn) {
|
|
112
113
|
const result = mockFn(query, boundValues);
|
|
@@ -122,6 +123,7 @@ export function createMockD1Database(config) {
|
|
|
122
123
|
},
|
|
123
124
|
run: async () => {
|
|
124
125
|
queries.push(query);
|
|
126
|
+
bindings.push(boundValues);
|
|
125
127
|
enforceMaxHistory();
|
|
126
128
|
if (mockFn) {
|
|
127
129
|
const result = mockFn(query, boundValues);
|
|
@@ -137,6 +139,7 @@ export function createMockD1Database(config) {
|
|
|
137
139
|
},
|
|
138
140
|
raw: async (_options) => {
|
|
139
141
|
queries.push(query);
|
|
142
|
+
bindings.push(boundValues);
|
|
140
143
|
enforceMaxHistory();
|
|
141
144
|
if (mockFn) {
|
|
142
145
|
const result = mockFn(query, boundValues);
|
|
@@ -161,9 +164,8 @@ export function createMockD1Database(config) {
|
|
|
161
164
|
batch: async (statements) => {
|
|
162
165
|
const results = [];
|
|
163
166
|
for (const stmt of statements) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
results.push({ results: [], success: true, meta: createDefaultMeta() });
|
|
167
|
+
const result = await stmt.all();
|
|
168
|
+
results.push(result);
|
|
167
169
|
}
|
|
168
170
|
return results;
|
|
169
171
|
},
|
|
@@ -184,8 +186,8 @@ export function createMockD1Database(config) {
|
|
|
184
186
|
batch: async (statements) => {
|
|
185
187
|
const results = [];
|
|
186
188
|
for (const stmt of statements) {
|
|
187
|
-
await stmt.
|
|
188
|
-
results.push(
|
|
189
|
+
const result = await stmt.all();
|
|
190
|
+
results.push(result);
|
|
189
191
|
}
|
|
190
192
|
return results;
|
|
191
193
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d1.js","sourceRoot":"","sources":["../../src/cloudflare/d1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AA+DH,yCAAyC;AACzC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAsCvC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA6B;IAChE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,IAAI,MAA+B,CAAC;IACpC,IAAI,SAA8B,CAAC;IACnC,IAAI,eAAe,GAAG,MAAM,EAAE,eAAe,IAAI,yBAAyB,CAAC;IAE3E;;;OAGG;IACH,MAAM,iBAAiB,GAAG,GAAS,EAAE;QACnC,OAAO,OAAO,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAW,EAAE,CAAC,CAAC;QACvC,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,CAAC,KAAa,EAA2B,EAAE;QACjE,IAAI,WAAW,GAAc,EAAE,CAAC;QAEhC,MAAM,SAAS,GAA4B;YACzC,IAAI,EAAE,CAAC,GAAG,MAAiB,EAAE,EAAE;gBAC7B,WAAW,GAAG,MAAM,CAAC;gBACrB,
|
|
1
|
+
{"version":3,"file":"d1.js","sourceRoot":"","sources":["../../src/cloudflare/d1.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* const row = createMockCategoryRow({ is_curated: 1 });
|
|
10
10
|
* ```
|
|
11
11
|
*/
|
|
12
|
-
import {
|
|
12
|
+
import { randomStringId, randomId } from '../utils/counters.js';
|
|
13
13
|
/**
|
|
14
14
|
* Creates a mock category row (as returned from database)
|
|
15
15
|
*
|
|
@@ -17,8 +17,8 @@ import { nextStringId, nextId } from '../utils/counters.js';
|
|
|
17
17
|
* @returns A CategoryRow object
|
|
18
18
|
*/
|
|
19
19
|
export function createMockCategoryRow(overrides = {}) {
|
|
20
|
-
const id = overrides.id ??
|
|
21
|
-
const displayOrder = overrides.display_order ??
|
|
20
|
+
const id = overrides.id ?? randomStringId('category');
|
|
21
|
+
const displayOrder = overrides.display_order ?? randomId();
|
|
22
22
|
return {
|
|
23
23
|
id,
|
|
24
24
|
name: 'Test Category',
|
|
@@ -36,8 +36,8 @@ export function createMockCategoryRow(overrides = {}) {
|
|
|
36
36
|
* @returns A Category object
|
|
37
37
|
*/
|
|
38
38
|
export function createMockCategory(overrides = {}) {
|
|
39
|
-
const id = overrides.id ??
|
|
40
|
-
const displayOrder = overrides.display_order ??
|
|
39
|
+
const id = overrides.id ?? randomStringId('category');
|
|
40
|
+
const displayOrder = overrides.display_order ?? randomId();
|
|
41
41
|
return {
|
|
42
42
|
id,
|
|
43
43
|
name: 'Test Category',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"category.js","sourceRoot":"","sources":["../../src/factories/category.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"category.js","sourceRoot":"","sources":["../../src/factories/category.ts"],"names":[],"mappings":"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"}
|
package/dist/factories/dye.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* const dye = createMockDye({ name: 'Custom Dye', hex: '#FF0000' });
|
|
16
16
|
* ```
|
|
17
17
|
*/
|
|
18
|
-
import {
|
|
18
|
+
import { randomId } from '../utils/counters.js';
|
|
19
19
|
/**
|
|
20
20
|
* Sample mock dyes for testing
|
|
21
21
|
*
|
|
@@ -126,7 +126,7 @@ export const mockDyes = [
|
|
|
126
126
|
* @returns A Dye object
|
|
127
127
|
*/
|
|
128
128
|
export function createMockDye(overrides = {}) {
|
|
129
|
-
const id = overrides.id ??
|
|
129
|
+
const id = overrides.id ?? randomId();
|
|
130
130
|
const itemID = overrides.itemID ?? 5700 + id;
|
|
131
131
|
return {
|
|
132
132
|
itemID,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dye.js","sourceRoot":"","sources":["../../src/factories/dye.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dye.js","sourceRoot":"","sources":["../../src/factories/dye.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,5 @@ export * from './category.js';
|
|
|
9
9
|
export * from './vote.js';
|
|
10
10
|
export * from './user.js';
|
|
11
11
|
export * from './dye.js';
|
|
12
|
-
export { randomId, randomStringId,
|
|
12
|
+
export { randomId, randomStringId, } from '../utils/counters.js';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAIzB,OAAO,EACL,QAAQ,EACR,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAIzB,OAAO,EACL,QAAQ,EACR,cAAc,GACf,MAAM,sBAAsB,CAAC"}
|
package/dist/factories/index.js
CHANGED
|
@@ -11,5 +11,5 @@ export * from './user.js';
|
|
|
11
11
|
export * from './dye.js';
|
|
12
12
|
// Re-export ID utilities for test setup
|
|
13
13
|
// TEST-DESIGN-001: randomId and randomStringId are the recommended functions for parallel-safe tests
|
|
14
|
-
export { randomId, randomStringId,
|
|
14
|
+
export { randomId, randomStringId, } from '../utils/counters.js';
|
|
15
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAEzB,wCAAwC;AACxC,qGAAqG;AACrG,OAAO,EACL,QAAQ,EACR,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/factories/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAEzB,wCAAwC;AACxC,qGAAqG;AACrG,OAAO,EACL,QAAQ,EACR,cAAc,GACf,MAAM,sBAAsB,CAAC"}
|
package/dist/utils/counters.d.ts
CHANGED
|
@@ -2,15 +2,11 @@
|
|
|
2
2
|
* ID generation utilities for test factories
|
|
3
3
|
*
|
|
4
4
|
* TEST-DESIGN-001: Uses random IDs to prevent race conditions in parallel test execution.
|
|
5
|
-
* Sequential counters are kept for backward compatibility but random IDs are now the default.
|
|
6
5
|
*
|
|
7
6
|
* @example
|
|
8
7
|
* ```typescript
|
|
9
|
-
* // Recommended: Random IDs (safe for parallel tests)
|
|
10
8
|
* const id = randomStringId('preset'); // 'preset-a7x9k2m'
|
|
11
|
-
*
|
|
12
|
-
* // Legacy: Sequential IDs (call resetCounters() in beforeEach for isolation)
|
|
13
|
-
* const seqId = nextStringId('preset'); // 'preset-1'
|
|
9
|
+
* const numId = randomId(); // 438291057
|
|
14
10
|
* ```
|
|
15
11
|
*/
|
|
16
12
|
/**
|
|
@@ -27,33 +23,10 @@ export declare function randomId(): number;
|
|
|
27
23
|
*/
|
|
28
24
|
export declare function randomStringId(prefix: string): string;
|
|
29
25
|
/**
|
|
30
|
-
* Get
|
|
31
|
-
*
|
|
32
|
-
* @param name - The counter name (e.g., 'preset', 'category')
|
|
33
|
-
* @returns The next sequential value
|
|
34
|
-
*/
|
|
35
|
-
export declare function nextId(name: string): number;
|
|
36
|
-
/**
|
|
37
|
-
* Get a string ID with prefix (legacy)
|
|
38
|
-
* TEST-DESIGN-001: Now uses random IDs by default for parallel-safe execution
|
|
26
|
+
* Get a string ID with prefix
|
|
27
|
+
* TEST-DESIGN-001: Delegates to randomStringId for parallel-safe execution
|
|
39
28
|
* @param prefix - The ID prefix (e.g., 'preset', 'category')
|
|
40
29
|
* @returns A string ID like 'preset-a7x9k2m'
|
|
41
30
|
*/
|
|
42
31
|
export declare function nextStringId(prefix: string): string;
|
|
43
|
-
/**
|
|
44
|
-
* Reset all counters to zero
|
|
45
|
-
* Call this in beforeEach() for test isolation
|
|
46
|
-
*/
|
|
47
|
-
export declare function resetCounters(): void;
|
|
48
|
-
/**
|
|
49
|
-
* Reset a specific counter
|
|
50
|
-
* @param name - The counter name to reset
|
|
51
|
-
*/
|
|
52
|
-
export declare function resetCounter(name: string): void;
|
|
53
|
-
/**
|
|
54
|
-
* Get the current value of a counter (without incrementing)
|
|
55
|
-
* @param name - The counter name
|
|
56
|
-
* @returns The current counter value, or 0 if not set
|
|
57
|
-
*/
|
|
58
|
-
export declare function getCounterValue(name: string): number;
|
|
59
32
|
//# sourceMappingURL=counters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counters.d.ts","sourceRoot":"","sources":["../../src/utils/counters.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"counters.d.ts","sourceRoot":"","sources":["../../src/utils/counters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAgBH;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
package/dist/utils/counters.js
CHANGED
|
@@ -2,19 +2,13 @@
|
|
|
2
2
|
* ID generation utilities for test factories
|
|
3
3
|
*
|
|
4
4
|
* TEST-DESIGN-001: Uses random IDs to prevent race conditions in parallel test execution.
|
|
5
|
-
* Sequential counters are kept for backward compatibility but random IDs are now the default.
|
|
6
5
|
*
|
|
7
6
|
* @example
|
|
8
7
|
* ```typescript
|
|
9
|
-
* // Recommended: Random IDs (safe for parallel tests)
|
|
10
8
|
* const id = randomStringId('preset'); // 'preset-a7x9k2m'
|
|
11
|
-
*
|
|
12
|
-
* // Legacy: Sequential IDs (call resetCounters() in beforeEach for isolation)
|
|
13
|
-
* const seqId = nextStringId('preset'); // 'preset-1'
|
|
9
|
+
* const numId = randomId(); // 438291057
|
|
14
10
|
* ```
|
|
15
11
|
*/
|
|
16
|
-
// Counter storage (legacy, for backward compatibility)
|
|
17
|
-
const counters = {};
|
|
18
12
|
/**
|
|
19
13
|
* Generate a random alphanumeric string
|
|
20
14
|
* @param length - Length of the random string (default: 8)
|
|
@@ -46,50 +40,12 @@ export function randomStringId(prefix) {
|
|
|
46
40
|
return `${prefix}-${randomAlphanumeric(8)}`;
|
|
47
41
|
}
|
|
48
42
|
/**
|
|
49
|
-
* Get
|
|
50
|
-
*
|
|
51
|
-
* @param name - The counter name (e.g., 'preset', 'category')
|
|
52
|
-
* @returns The next sequential value
|
|
53
|
-
*/
|
|
54
|
-
export function nextId(name) {
|
|
55
|
-
if (!(name in counters)) {
|
|
56
|
-
counters[name] = 0;
|
|
57
|
-
}
|
|
58
|
-
counters[name]++;
|
|
59
|
-
return counters[name];
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Get a string ID with prefix (legacy)
|
|
63
|
-
* TEST-DESIGN-001: Now uses random IDs by default for parallel-safe execution
|
|
43
|
+
* Get a string ID with prefix
|
|
44
|
+
* TEST-DESIGN-001: Delegates to randomStringId for parallel-safe execution
|
|
64
45
|
* @param prefix - The ID prefix (e.g., 'preset', 'category')
|
|
65
46
|
* @returns A string ID like 'preset-a7x9k2m'
|
|
66
47
|
*/
|
|
67
48
|
export function nextStringId(prefix) {
|
|
68
|
-
// TEST-DESIGN-001: Use random IDs by default for parallel test safety
|
|
69
49
|
return randomStringId(prefix);
|
|
70
50
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Reset all counters to zero
|
|
73
|
-
* Call this in beforeEach() for test isolation
|
|
74
|
-
*/
|
|
75
|
-
export function resetCounters() {
|
|
76
|
-
for (const key in counters) {
|
|
77
|
-
delete counters[key];
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Reset a specific counter
|
|
82
|
-
* @param name - The counter name to reset
|
|
83
|
-
*/
|
|
84
|
-
export function resetCounter(name) {
|
|
85
|
-
delete counters[name];
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Get the current value of a counter (without incrementing)
|
|
89
|
-
* @param name - The counter name
|
|
90
|
-
* @returns The current counter value, or 0 if not set
|
|
91
|
-
*/
|
|
92
|
-
export function getCounterValue(name) {
|
|
93
|
-
return counters[name] ?? 0;
|
|
94
|
-
}
|
|
95
51
|
//# sourceMappingURL=counters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counters.js","sourceRoot":"","sources":["../../src/utils/counters.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"counters.js","sourceRoot":"","sources":["../../src/utils/counters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,SAAiB,CAAC;IAC5C,MAAM,KAAK,GAAG,sCAAsC,CAAC;IACrD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,iBAAiB;AAC7E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,GAAG,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xivdyetools/test-utils",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "Shared testing utilities for the xivdyetools ecosystem",
|
|
5
5
|
"author": "XIV Dye Tools",
|
|
6
6
|
"license": "MIT",
|
|
@@ -51,11 +51,11 @@
|
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@xivdyetools/crypto": "1.
|
|
55
|
-
"@xivdyetools/types": "1.
|
|
54
|
+
"@xivdyetools/crypto": "1.1.0",
|
|
55
|
+
"@xivdyetools/types": "1.9.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@cloudflare/workers-types": "^4.
|
|
58
|
+
"@cloudflare/workers-types": "^4.20260302.0",
|
|
59
59
|
"@testing-library/dom": "^10.0.0",
|
|
60
60
|
"@vitest/coverage-v8": "^4.0.18",
|
|
61
61
|
"vitest": "^4.0.18"
|