@jamesaphoenix/tx-test-utils 0.4.2
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/database/index.d.ts +8 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +7 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/test-database.d.ts +101 -0
- package/dist/database/test-database.d.ts.map +1 -0
- package/dist/database/test-database.js +130 -0
- package/dist/database/test-database.js.map +1 -0
- package/dist/factories/anchor.factory.d.ts +117 -0
- package/dist/factories/anchor.factory.d.ts.map +1 -0
- package/dist/factories/anchor.factory.js +201 -0
- package/dist/factories/anchor.factory.js.map +1 -0
- package/dist/factories/candidate.factory.d.ts +151 -0
- package/dist/factories/candidate.factory.d.ts.map +1 -0
- package/dist/factories/candidate.factory.js +194 -0
- package/dist/factories/candidate.factory.js.map +1 -0
- package/dist/factories/edge.factory.d.ts +119 -0
- package/dist/factories/edge.factory.d.ts.map +1 -0
- package/dist/factories/edge.factory.js +191 -0
- package/dist/factories/edge.factory.js.map +1 -0
- package/dist/factories/factories.test.d.ts +8 -0
- package/dist/factories/factories.test.d.ts.map +1 -0
- package/dist/factories/factories.test.js +419 -0
- package/dist/factories/factories.test.js.map +1 -0
- package/dist/factories/index.d.ts +15 -0
- package/dist/factories/index.d.ts.map +1 -0
- package/dist/factories/index.js +21 -0
- package/dist/factories/index.js.map +1 -0
- package/dist/factories/learning.factory.d.ts +107 -0
- package/dist/factories/learning.factory.d.ts.map +1 -0
- package/dist/factories/learning.factory.js +150 -0
- package/dist/factories/learning.factory.js.map +1 -0
- package/dist/factories/task.factory.d.ts +106 -0
- package/dist/factories/task.factory.d.ts.map +1 -0
- package/dist/factories/task.factory.js +151 -0
- package/dist/factories/task.factory.js.map +1 -0
- package/dist/fixtures/index.d.ts +36 -0
- package/dist/fixtures/index.d.ts.map +1 -0
- package/dist/fixtures/index.js +47 -0
- package/dist/fixtures/index.js.map +1 -0
- package/dist/helpers/effect.d.ts +186 -0
- package/dist/helpers/effect.d.ts.map +1 -0
- package/dist/helpers/effect.js +298 -0
- package/dist/helpers/effect.js.map +1 -0
- package/dist/helpers/effect.test.d.ts +7 -0
- package/dist/helpers/effect.test.d.ts.map +1 -0
- package/dist/helpers/effect.test.js +271 -0
- package/dist/helpers/effect.test.js.map +1 -0
- package/dist/helpers/index.d.ts +7 -0
- package/dist/helpers/index.d.ts.map +1 -0
- package/dist/helpers/index.js +11 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/llm-cache/cache.d.ts +152 -0
- package/dist/llm-cache/cache.d.ts.map +1 -0
- package/dist/llm-cache/cache.js +199 -0
- package/dist/llm-cache/cache.js.map +1 -0
- package/dist/llm-cache/cache.test.d.ts +7 -0
- package/dist/llm-cache/cache.test.d.ts.map +1 -0
- package/dist/llm-cache/cache.test.js +310 -0
- package/dist/llm-cache/cache.test.js.map +1 -0
- package/dist/llm-cache/cli.d.ts +113 -0
- package/dist/llm-cache/cli.d.ts.map +1 -0
- package/dist/llm-cache/cli.js +248 -0
- package/dist/llm-cache/cli.js.map +1 -0
- package/dist/llm-cache/index.d.ts +31 -0
- package/dist/llm-cache/index.d.ts.map +1 -0
- package/dist/llm-cache/index.js +31 -0
- package/dist/llm-cache/index.js.map +1 -0
- package/dist/mocks/anthropic.mock.d.ts +173 -0
- package/dist/mocks/anthropic.mock.d.ts.map +1 -0
- package/dist/mocks/anthropic.mock.js +125 -0
- package/dist/mocks/anthropic.mock.js.map +1 -0
- package/dist/mocks/ast-grep.mock.d.ts +216 -0
- package/dist/mocks/ast-grep.mock.d.ts.map +1 -0
- package/dist/mocks/ast-grep.mock.js +164 -0
- package/dist/mocks/ast-grep.mock.js.map +1 -0
- package/dist/mocks/file-system.mock.d.ts +181 -0
- package/dist/mocks/file-system.mock.d.ts.map +1 -0
- package/dist/mocks/file-system.mock.js +280 -0
- package/dist/mocks/file-system.mock.js.map +1 -0
- package/dist/mocks/index.d.ts +10 -0
- package/dist/mocks/index.d.ts.map +1 -0
- package/dist/mocks/index.js +16 -0
- package/dist/mocks/index.js.map +1 -0
- package/dist/mocks/mocks.test.d.ts +10 -0
- package/dist/mocks/mocks.test.d.ts.map +1 -0
- package/dist/mocks/mocks.test.js +961 -0
- package/dist/mocks/mocks.test.js.map +1 -0
- package/dist/mocks/openai.mock.d.ts +205 -0
- package/dist/mocks/openai.mock.d.ts.map +1 -0
- package/dist/mocks/openai.mock.js +178 -0
- package/dist/mocks/openai.mock.js.map +1 -0
- package/dist/setup/index.d.ts +7 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +9 -0
- package/dist/setup/index.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Learning factory for creating test learning data.
|
|
3
|
+
*
|
|
4
|
+
* @module @tx/test-utils/factories/learning
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Factory class for creating test learnings.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const db = await Effect.runPromise(createTestDatabase())
|
|
12
|
+
* const factory = new LearningFactory(db)
|
|
13
|
+
*
|
|
14
|
+
* // Create single learning
|
|
15
|
+
* const learning = factory.create({ content: 'Always use Effect for async ops' })
|
|
16
|
+
*
|
|
17
|
+
* // Create with embedding for vector search testing
|
|
18
|
+
* const embedding = new Float32Array([0.1, 0.2, 0.3, ...])
|
|
19
|
+
* const withVector = factory.withEmbedding(embedding, { content: 'Test learning' })
|
|
20
|
+
*
|
|
21
|
+
* // Create multiple learnings
|
|
22
|
+
* const learnings = await factory.createMany(5, { category: 'testing' })
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export class LearningFactory {
|
|
26
|
+
counter = 0;
|
|
27
|
+
db;
|
|
28
|
+
constructor(db) {
|
|
29
|
+
this.db = db;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create a single test learning.
|
|
33
|
+
*/
|
|
34
|
+
create(options = {}) {
|
|
35
|
+
this.counter++;
|
|
36
|
+
const now = new Date();
|
|
37
|
+
const id = options.id ?? this.counter;
|
|
38
|
+
const content = options.content ?? `Test learning ${this.counter}`;
|
|
39
|
+
const sourceType = options.sourceType ?? "manual";
|
|
40
|
+
const sourceRef = options.sourceRef ?? null;
|
|
41
|
+
const keywords = options.keywords ?? [];
|
|
42
|
+
const category = options.category ?? null;
|
|
43
|
+
const usageCount = options.usageCount ?? 0;
|
|
44
|
+
const lastUsedAt = options.lastUsedAt ?? null;
|
|
45
|
+
const outcomeScore = options.outcomeScore ?? null;
|
|
46
|
+
const embedding = options.embedding ?? null;
|
|
47
|
+
const createdAt = options.createdAt ?? now;
|
|
48
|
+
// Convert Float32Array to Buffer for SQLite storage
|
|
49
|
+
const embeddingBuffer = embedding
|
|
50
|
+
? Buffer.from(embedding.buffer, embedding.byteOffset, embedding.byteLength)
|
|
51
|
+
: null;
|
|
52
|
+
this.db.run(`INSERT INTO learnings (id, content, source_type, source_ref, keywords, category, usage_count, last_used_at, outcome_score, embedding, created_at)
|
|
53
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
54
|
+
id,
|
|
55
|
+
content,
|
|
56
|
+
sourceType,
|
|
57
|
+
sourceRef,
|
|
58
|
+
JSON.stringify(keywords),
|
|
59
|
+
category,
|
|
60
|
+
usageCount,
|
|
61
|
+
lastUsedAt ? lastUsedAt.toISOString() : null,
|
|
62
|
+
outcomeScore,
|
|
63
|
+
embeddingBuffer,
|
|
64
|
+
createdAt.toISOString()
|
|
65
|
+
]);
|
|
66
|
+
return {
|
|
67
|
+
id: id,
|
|
68
|
+
content,
|
|
69
|
+
sourceType,
|
|
70
|
+
sourceRef,
|
|
71
|
+
keywords,
|
|
72
|
+
category,
|
|
73
|
+
usageCount,
|
|
74
|
+
lastUsedAt,
|
|
75
|
+
outcomeScore,
|
|
76
|
+
embedding,
|
|
77
|
+
createdAt
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Create multiple test learnings.
|
|
82
|
+
*/
|
|
83
|
+
createMany(count, options = {}) {
|
|
84
|
+
const learnings = [];
|
|
85
|
+
for (let i = 0; i < count; i++) {
|
|
86
|
+
learnings.push(this.create({
|
|
87
|
+
...options,
|
|
88
|
+
content: options.content ? `${options.content} ${i + 1}` : undefined
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
return learnings;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Create a learning with specific content.
|
|
95
|
+
*/
|
|
96
|
+
withContent(content, options = {}) {
|
|
97
|
+
return this.create({ ...options, content });
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Create a learning with embedding vector for vector search testing.
|
|
101
|
+
*/
|
|
102
|
+
withEmbedding(embedding, options = {}) {
|
|
103
|
+
return this.create({ ...options, embedding });
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Create a learning with a specific category.
|
|
107
|
+
*/
|
|
108
|
+
withCategory(category, options = {}) {
|
|
109
|
+
return this.create({ ...options, category });
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Create a learning from a specific source.
|
|
113
|
+
*/
|
|
114
|
+
fromSource(sourceType, sourceRef, options = {}) {
|
|
115
|
+
return this.create({ ...options, sourceType, sourceRef });
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Reset the internal counter.
|
|
119
|
+
*/
|
|
120
|
+
reset() {
|
|
121
|
+
this.counter = 0;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Create a single test learning (convenience function).
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```typescript
|
|
129
|
+
* const db = await Effect.runPromise(createTestDatabase())
|
|
130
|
+
* const learning = createTestLearning(db, { content: 'Use Effect-TS for typed errors' })
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
export const createTestLearning = (db, options = {}) => {
|
|
134
|
+
const factory = new LearningFactory(db);
|
|
135
|
+
return factory.create(options);
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Create multiple test learnings (convenience function).
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* const db = await Effect.runPromise(createTestDatabase())
|
|
143
|
+
* const learnings = createTestLearnings(db, 10, { category: 'patterns' })
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
export const createTestLearnings = (db, count, options = {}) => {
|
|
147
|
+
const factory = new LearningFactory(db);
|
|
148
|
+
return factory.createMany(count, options);
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=learning.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning.factory.js","sourceRoot":"","sources":["../../src/factories/learning.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task factory for creating test task data.
|
|
3
|
+
*
|
|
4
|
+
* @module @tx/test-utils/factories/task
|
|
5
|
+
*/
|
|
6
|
+
import type { Task, TaskStatus } from "@jamesaphoenix/tx-types";
|
|
7
|
+
import type { TestDatabase } from "../database/index.js";
|
|
8
|
+
/**
|
|
9
|
+
* Options for creating a test task.
|
|
10
|
+
*/
|
|
11
|
+
export interface CreateTaskOptions {
|
|
12
|
+
/** Task ID (auto-generated if not provided) */
|
|
13
|
+
id?: string;
|
|
14
|
+
/** Task title */
|
|
15
|
+
title?: string;
|
|
16
|
+
/** Task description */
|
|
17
|
+
description?: string;
|
|
18
|
+
/** Task status */
|
|
19
|
+
status?: TaskStatus;
|
|
20
|
+
/** Parent task ID */
|
|
21
|
+
parentId?: string | null;
|
|
22
|
+
/** Priority score */
|
|
23
|
+
score?: number;
|
|
24
|
+
/** Task metadata */
|
|
25
|
+
metadata?: Record<string, unknown>;
|
|
26
|
+
/** Creation timestamp */
|
|
27
|
+
createdAt?: Date;
|
|
28
|
+
/** Completion timestamp (only if status is 'done') */
|
|
29
|
+
completedAt?: Date | null;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Factory class for creating test tasks.
|
|
33
|
+
*
|
|
34
|
+
* Provides methods to create individual tasks or batches of tasks
|
|
35
|
+
* with customizable properties.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const db = await Effect.runPromise(createTestDatabase())
|
|
40
|
+
* const factory = new TaskFactory(db)
|
|
41
|
+
*
|
|
42
|
+
* // Create single task
|
|
43
|
+
* const task = factory.create({ title: 'Test Task' })
|
|
44
|
+
*
|
|
45
|
+
* // Create with dependencies
|
|
46
|
+
* const parent = factory.create({ title: 'Parent' })
|
|
47
|
+
* const child = factory.create({ title: 'Child', parentId: parent.id })
|
|
48
|
+
*
|
|
49
|
+
* // Create multiple tasks
|
|
50
|
+
* const tasks = await factory.createMany(5, { status: 'backlog' })
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare class TaskFactory {
|
|
54
|
+
private counter;
|
|
55
|
+
private readonly db;
|
|
56
|
+
private readonly namespace;
|
|
57
|
+
constructor(db: TestDatabase, namespace?: string);
|
|
58
|
+
/**
|
|
59
|
+
* Create a single test task.
|
|
60
|
+
*/
|
|
61
|
+
create(options?: CreateTaskOptions): Task;
|
|
62
|
+
/**
|
|
63
|
+
* Create multiple test tasks.
|
|
64
|
+
*/
|
|
65
|
+
createMany(count: number, options?: CreateTaskOptions): Task[];
|
|
66
|
+
/**
|
|
67
|
+
* Create a task with a specific status.
|
|
68
|
+
*/
|
|
69
|
+
withStatus(status: TaskStatus, options?: CreateTaskOptions): Task;
|
|
70
|
+
/**
|
|
71
|
+
* Create a completed task.
|
|
72
|
+
*/
|
|
73
|
+
completed(options?: CreateTaskOptions): Task;
|
|
74
|
+
/**
|
|
75
|
+
* Create a task hierarchy (parent with children).
|
|
76
|
+
*/
|
|
77
|
+
withChildren(parentOptions: CreateTaskOptions, childCount: number, childOptions?: CreateTaskOptions): {
|
|
78
|
+
parent: Task;
|
|
79
|
+
children: Task[];
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Reset the internal counter.
|
|
83
|
+
*/
|
|
84
|
+
reset(): void;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create a single test task (convenience function).
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const db = await Effect.runPromise(createTestDatabase())
|
|
92
|
+
* const task = createTestTask(db, { title: 'My Task' })
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export declare const createTestTask: (db: TestDatabase, options?: CreateTaskOptions) => Task;
|
|
96
|
+
/**
|
|
97
|
+
* Create multiple test tasks (convenience function).
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const db = await Effect.runPromise(createTestDatabase())
|
|
102
|
+
* const tasks = createTestTasks(db, 5, { status: 'backlog' })
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export declare const createTestTasks: (db: TestDatabase, count: number, options?: CreateTaskOptions) => Task[];
|
|
106
|
+
//# sourceMappingURL=task.factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.factory.d.ts","sourceRoot":"","sources":["../../src/factories/task.factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,IAAI,EAEJ,UAAU,EACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGxD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB;IAClB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,yBAAyB;IACzB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,sDAAsD;IACtD,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBAEtB,EAAE,EAAE,YAAY,EAAE,SAAS,SAAiB;IAKxD;;OAEG;IACH,MAAM,CAAC,OAAO,GAAE,iBAAsB,GAAG,IAAI;IA6C7C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,IAAI,EAAE;IAWlE;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE,iBAAsB,GAAG,IAAI;IAIrE;;OAEG;IACH,SAAS,CAAC,OAAO,GAAE,iBAAsB,GAAG,IAAI;IAQhD;;OAEG;IACH,YAAY,CACV,aAAa,EAAE,iBAAiB,EAChC,UAAU,EAAE,MAAM,EAClB,YAAY,GAAE,iBAAsB,GACnC;QAAE,MAAM,EAAE,IAAI,CAAC;QAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;KAAE;IASrC;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,IAAI,YAAY,EAChB,UAAS,iBAAsB,KAC9B,IAGF,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC1B,IAAI,YAAY,EAChB,OAAO,MAAM,EACb,UAAS,iBAAsB,KAC9B,IAAI,EAGN,CAAA"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Task factory for creating test task data.
|
|
3
|
+
*
|
|
4
|
+
* @module @tx/test-utils/factories/task
|
|
5
|
+
*/
|
|
6
|
+
import { fixtureId } from "../fixtures/index.js";
|
|
7
|
+
/**
|
|
8
|
+
* Factory class for creating test tasks.
|
|
9
|
+
*
|
|
10
|
+
* Provides methods to create individual tasks or batches of tasks
|
|
11
|
+
* with customizable properties.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const db = await Effect.runPromise(createTestDatabase())
|
|
16
|
+
* const factory = new TaskFactory(db)
|
|
17
|
+
*
|
|
18
|
+
* // Create single task
|
|
19
|
+
* const task = factory.create({ title: 'Test Task' })
|
|
20
|
+
*
|
|
21
|
+
* // Create with dependencies
|
|
22
|
+
* const parent = factory.create({ title: 'Parent' })
|
|
23
|
+
* const child = factory.create({ title: 'Child', parentId: parent.id })
|
|
24
|
+
*
|
|
25
|
+
* // Create multiple tasks
|
|
26
|
+
* const tasks = await factory.createMany(5, { status: 'backlog' })
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export class TaskFactory {
|
|
30
|
+
counter = 0;
|
|
31
|
+
db;
|
|
32
|
+
namespace;
|
|
33
|
+
constructor(db, namespace = "task-factory") {
|
|
34
|
+
this.db = db;
|
|
35
|
+
this.namespace = namespace;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create a single test task.
|
|
39
|
+
*/
|
|
40
|
+
create(options = {}) {
|
|
41
|
+
this.counter++;
|
|
42
|
+
const now = new Date();
|
|
43
|
+
const id = options.id ?? fixtureId(`${this.namespace}::task-${this.counter}`);
|
|
44
|
+
const title = options.title ?? `Test Task ${this.counter}`;
|
|
45
|
+
const description = options.description ?? "";
|
|
46
|
+
const status = options.status ?? "backlog";
|
|
47
|
+
const parentId = options.parentId ?? null;
|
|
48
|
+
const score = options.score ?? 500;
|
|
49
|
+
const metadata = options.metadata ?? {};
|
|
50
|
+
const createdAt = options.createdAt ?? now;
|
|
51
|
+
const completedAt = options.completedAt ?? (status === "done" ? now : null);
|
|
52
|
+
this.db.run(`INSERT INTO tasks (id, title, description, status, parent_id, score, metadata, created_at, updated_at, completed_at)
|
|
53
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
54
|
+
id,
|
|
55
|
+
title,
|
|
56
|
+
description,
|
|
57
|
+
status,
|
|
58
|
+
parentId,
|
|
59
|
+
score,
|
|
60
|
+
JSON.stringify(metadata),
|
|
61
|
+
createdAt.toISOString(),
|
|
62
|
+
now.toISOString(),
|
|
63
|
+
completedAt ? completedAt.toISOString() : null
|
|
64
|
+
]);
|
|
65
|
+
return {
|
|
66
|
+
id: id,
|
|
67
|
+
title,
|
|
68
|
+
description,
|
|
69
|
+
status,
|
|
70
|
+
parentId: parentId,
|
|
71
|
+
score,
|
|
72
|
+
metadata,
|
|
73
|
+
createdAt,
|
|
74
|
+
updatedAt: now,
|
|
75
|
+
completedAt
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Create multiple test tasks.
|
|
80
|
+
*/
|
|
81
|
+
createMany(count, options = {}) {
|
|
82
|
+
const tasks = [];
|
|
83
|
+
for (let i = 0; i < count; i++) {
|
|
84
|
+
tasks.push(this.create({
|
|
85
|
+
...options,
|
|
86
|
+
title: options.title ? `${options.title} ${i + 1}` : undefined
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
return tasks;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Create a task with a specific status.
|
|
93
|
+
*/
|
|
94
|
+
withStatus(status, options = {}) {
|
|
95
|
+
return this.create({ ...options, status });
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Create a completed task.
|
|
99
|
+
*/
|
|
100
|
+
completed(options = {}) {
|
|
101
|
+
return this.create({
|
|
102
|
+
...options,
|
|
103
|
+
status: "done",
|
|
104
|
+
completedAt: options.completedAt ?? new Date()
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Create a task hierarchy (parent with children).
|
|
109
|
+
*/
|
|
110
|
+
withChildren(parentOptions, childCount, childOptions = {}) {
|
|
111
|
+
const parent = this.create(parentOptions);
|
|
112
|
+
const children = this.createMany(childCount, {
|
|
113
|
+
...childOptions,
|
|
114
|
+
parentId: parent.id
|
|
115
|
+
});
|
|
116
|
+
return { parent, children };
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Reset the internal counter.
|
|
120
|
+
*/
|
|
121
|
+
reset() {
|
|
122
|
+
this.counter = 0;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Create a single test task (convenience function).
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* const db = await Effect.runPromise(createTestDatabase())
|
|
131
|
+
* const task = createTestTask(db, { title: 'My Task' })
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
export const createTestTask = (db, options = {}) => {
|
|
135
|
+
const factory = new TaskFactory(db);
|
|
136
|
+
return factory.create(options);
|
|
137
|
+
};
|
|
138
|
+
/**
|
|
139
|
+
* Create multiple test tasks (convenience function).
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```typescript
|
|
143
|
+
* const db = await Effect.runPromise(createTestDatabase())
|
|
144
|
+
* const tasks = createTestTasks(db, 5, { status: 'backlog' })
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export const createTestTasks = (db, count, options = {}) => {
|
|
148
|
+
const factory = new TaskFactory(db);
|
|
149
|
+
return factory.createMany(count, options);
|
|
150
|
+
};
|
|
151
|
+
//# sourceMappingURL=task.factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task.factory.js","sourceRoot":"","sources":["../../src/factories/task.factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fixture ID generation utilities for deterministic test data.
|
|
3
|
+
*
|
|
4
|
+
* @module @tx/test-utils/fixtures
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Generate deterministic fixture ID from name.
|
|
8
|
+
* Same name always produces same ID across test runs.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* fixtureId('auth-task') // -> 'tx-a1b2c3d4'
|
|
12
|
+
* fixtureId('auth-task') // -> 'tx-a1b2c3d4' (same)
|
|
13
|
+
*/
|
|
14
|
+
export declare const fixtureId: (name: string) => string;
|
|
15
|
+
/**
|
|
16
|
+
* Generate fixture ID with namespace to avoid collisions.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* namespacedFixtureId('task-service.test', 'task-1') // -> 'tx-c3d4e5f6'
|
|
20
|
+
*/
|
|
21
|
+
export declare const namespacedFixtureId: (namespace: string, name: string) => string;
|
|
22
|
+
/**
|
|
23
|
+
* Generate sequential IDs within a namespace.
|
|
24
|
+
* Useful for creating multiple related fixtures.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* const ids = sequentialFixtureIds('tasks', 5)
|
|
28
|
+
* // -> ['tx-a1...', 'tx-b2...', 'tx-c3...', 'tx-d4...', 'tx-e5...']
|
|
29
|
+
*/
|
|
30
|
+
export declare const sequentialFixtureIds: (namespace: string, count: number) => string[];
|
|
31
|
+
/**
|
|
32
|
+
* Generate fixture ID from object content.
|
|
33
|
+
* Useful for content-addressed fixtures.
|
|
34
|
+
*/
|
|
35
|
+
export declare const contentFixtureId: (content: object) => string;
|
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fixtures/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAGxC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,EAAE,MAAM,MAAM,KAAG,MAErE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW,MAAM,EAAE,OAAO,MAAM,KAAG,MAAM,EAI7E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,KAAG,MAGlD,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fixture ID generation utilities for deterministic test data.
|
|
3
|
+
*
|
|
4
|
+
* @module @tx/test-utils/fixtures
|
|
5
|
+
*/
|
|
6
|
+
import * as crypto from "crypto";
|
|
7
|
+
/**
|
|
8
|
+
* Generate deterministic fixture ID from name.
|
|
9
|
+
* Same name always produces same ID across test runs.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* fixtureId('auth-task') // -> 'tx-a1b2c3d4'
|
|
13
|
+
* fixtureId('auth-task') // -> 'tx-a1b2c3d4' (same)
|
|
14
|
+
*/
|
|
15
|
+
export const fixtureId = (name) => {
|
|
16
|
+
const hash = crypto.createHash("sha256").update(name).digest("hex");
|
|
17
|
+
return `tx-${hash.slice(0, 8)}`;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Generate fixture ID with namespace to avoid collisions.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* namespacedFixtureId('task-service.test', 'task-1') // -> 'tx-c3d4e5f6'
|
|
24
|
+
*/
|
|
25
|
+
export const namespacedFixtureId = (namespace, name) => {
|
|
26
|
+
return fixtureId(`${namespace}::${name}`);
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Generate sequential IDs within a namespace.
|
|
30
|
+
* Useful for creating multiple related fixtures.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* const ids = sequentialFixtureIds('tasks', 5)
|
|
34
|
+
* // -> ['tx-a1...', 'tx-b2...', 'tx-c3...', 'tx-d4...', 'tx-e5...']
|
|
35
|
+
*/
|
|
36
|
+
export const sequentialFixtureIds = (namespace, count) => {
|
|
37
|
+
return Array.from({ length: count }, (_, i) => namespacedFixtureId(namespace, `${i + 1}`));
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Generate fixture ID from object content.
|
|
41
|
+
* Useful for content-addressed fixtures.
|
|
42
|
+
*/
|
|
43
|
+
export const contentFixtureId = (content) => {
|
|
44
|
+
const json = JSON.stringify(content, Object.keys(content).sort());
|
|
45
|
+
return fixtureId(json);
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fixtures/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnE,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;AACjC,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,IAAY,EAAU,EAAE;IAC7E,OAAO,SAAS,CAAC,GAAG,SAAS,KAAK,IAAI,EAAE,CAAC,CAAA;AAC3C,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAY,EAAE;IACjF,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC5C,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAC3C,CAAA;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAU,EAAE;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACjE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC,CAAA"}
|