@powerhousedao/vetra 5.1.0-staging.0 → 5.2.0-staging.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/document-models/app-module/gen/document-schema.d.ts +24 -170
- package/dist/document-models/app-module/gen/document-schema.d.ts.map +1 -1
- package/dist/document-models/app-module/gen/schema/types.d.ts +15 -3
- package/dist/document-models/app-module/gen/schema/types.d.ts.map +1 -1
- package/dist/document-models/app-module/gen/schema/zod.d.ts +7 -4
- package/dist/document-models/app-module/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/app-module/gen/schema/zod.js +2 -2
- package/dist/document-models/app-module/src/tests/base-operations.test.js +52 -1
- package/dist/document-models/document-editor/gen/document-schema.d.ts +21 -151
- package/dist/document-models/document-editor/gen/document-schema.d.ts.map +1 -1
- package/dist/document-models/document-editor/gen/schema/types.d.ts +15 -3
- package/dist/document-models/document-editor/gen/schema/types.d.ts.map +1 -1
- package/dist/document-models/document-editor/gen/schema/zod.d.ts +7 -4
- package/dist/document-models/document-editor/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/document-editor/gen/schema/zod.js +2 -2
- package/dist/document-models/document-editor/src/tests/base-operations.test.js +42 -1
- package/dist/document-models/processor-module/gen/document-schema.d.ts +24 -170
- package/dist/document-models/processor-module/gen/document-schema.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/schema/types.d.ts +15 -3
- package/dist/document-models/processor-module/gen/schema/types.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/schema/zod.d.ts +7 -4
- package/dist/document-models/processor-module/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/processor-module/gen/schema/zod.js +2 -2
- package/dist/document-models/processor-module/src/tests/base-operations.test.js +52 -1
- package/dist/document-models/subgraph-module/gen/document-schema.d.ts +18 -132
- package/dist/document-models/subgraph-module/gen/document-schema.d.ts.map +1 -1
- package/dist/document-models/subgraph-module/gen/schema/types.d.ts +15 -3
- package/dist/document-models/subgraph-module/gen/schema/types.d.ts.map +1 -1
- package/dist/document-models/subgraph-module/gen/schema/zod.d.ts +7 -4
- package/dist/document-models/subgraph-module/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/subgraph-module/gen/schema/zod.js +1 -1
- package/dist/document-models/subgraph-module/src/tests/base-operations.test.js +22 -1
- package/dist/document-models/vetra-package/gen/document-schema.d.ts +33 -227
- package/dist/document-models/vetra-package/gen/document-schema.d.ts.map +1 -1
- package/dist/document-models/vetra-package/gen/schema/types.d.ts +17 -1
- package/dist/document-models/vetra-package/gen/schema/types.d.ts.map +1 -1
- package/dist/document-models/vetra-package/gen/schema/zod.d.ts +3 -3
- package/dist/document-models/vetra-package/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/vetra-package/gen/schema/zod.js +10 -10
- package/dist/document-models/vetra-package/src/tests/base-operations.test.js +127 -28
- package/dist/processors/codegen/__tests__/codegen-processor-e2e.test.js +96 -44
- package/dist/processors/codegen/document-handlers/generators/app-generator.js +2 -2
- package/dist/processors/codegen/document-handlers/generators/constants.d.ts +2 -1
- package/dist/processors/codegen/document-handlers/generators/constants.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/constants.js +2 -1
- package/dist/processors/codegen/document-handlers/generators/document-editor-generator.js +2 -2
- package/dist/processors/codegen/document-handlers/generators/document-model-generator.d.ts.map +1 -1
- package/dist/processors/codegen/document-handlers/generators/document-model-generator.js +7 -3
- package/dist/subgraphs/app-module/resolvers.d.ts.map +1 -1
- package/dist/subgraphs/app-module/resolvers.js +4 -4
- package/dist/subgraphs/app-module/schema.d.ts.map +1 -1
- package/dist/subgraphs/app-module/schema.js +2 -17
- package/dist/subgraphs/document-editor/index.d.ts +3 -2
- package/dist/subgraphs/document-editor/index.d.ts.map +1 -1
- package/dist/subgraphs/document-editor/index.js +1 -1
- package/dist/subgraphs/document-editor/resolvers.d.ts +1 -1
- package/dist/subgraphs/document-editor/resolvers.d.ts.map +1 -1
- package/dist/subgraphs/document-editor/resolvers.js +12 -16
- package/dist/subgraphs/document-editor/schema.d.ts.map +1 -1
- package/dist/subgraphs/document-editor/schema.js +2 -21
- package/dist/subgraphs/index.d.ts +4 -4
- package/dist/subgraphs/index.d.ts.map +1 -1
- package/dist/subgraphs/index.js +4 -4
- package/dist/subgraphs/processor-module/index.d.ts +1 -1
- package/dist/subgraphs/processor-module/index.d.ts.map +1 -1
- package/dist/subgraphs/processor-module/resolvers.d.ts +1 -1
- package/dist/subgraphs/processor-module/resolvers.d.ts.map +1 -1
- package/dist/subgraphs/processor-module/resolvers.js +12 -16
- package/dist/subgraphs/processor-module/schema.d.ts.map +1 -1
- package/dist/subgraphs/processor-module/schema.js +2 -22
- package/dist/subgraphs/subgraph-module/index.d.ts +1 -1
- package/dist/subgraphs/subgraph-module/index.d.ts.map +1 -1
- package/dist/subgraphs/subgraph-module/resolvers.d.ts +1 -1
- package/dist/subgraphs/subgraph-module/resolvers.d.ts.map +1 -1
- package/dist/subgraphs/subgraph-module/resolvers.js +12 -16
- package/dist/subgraphs/subgraph-module/schema.d.ts.map +1 -1
- package/dist/subgraphs/subgraph-module/schema.js +2 -15
- package/dist/subgraphs/vetra-package/index.d.ts +1 -1
- package/dist/subgraphs/vetra-package/index.d.ts.map +1 -1
- package/dist/subgraphs/vetra-package/resolvers.d.ts +1 -1
- package/dist/subgraphs/vetra-package/resolvers.d.ts.map +1 -1
- package/dist/subgraphs/vetra-package/resolvers.js +137 -94
- package/dist/subgraphs/vetra-package/schema.d.ts.map +1 -1
- package/dist/subgraphs/vetra-package/schema.js +3 -26
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -15
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type Maybe<T> = T | null;
|
|
1
|
+
export type Maybe<T> = T | null | undefined;
|
|
2
2
|
export type InputMaybe<T> = T | null | undefined;
|
|
3
3
|
export type Exact<T extends {
|
|
4
4
|
[key: string]: unknown;
|
|
@@ -41,6 +41,10 @@ export type Scalars = {
|
|
|
41
41
|
input: number;
|
|
42
42
|
output: number;
|
|
43
43
|
};
|
|
44
|
+
Address: {
|
|
45
|
+
input: `${string}:0x${string}`;
|
|
46
|
+
output: `${string}:0x${string}`;
|
|
47
|
+
};
|
|
44
48
|
Amount: {
|
|
45
49
|
input: {
|
|
46
50
|
unit?: string;
|
|
@@ -93,6 +97,10 @@ export type Scalars = {
|
|
|
93
97
|
input: number;
|
|
94
98
|
output: number;
|
|
95
99
|
};
|
|
100
|
+
Attachment: {
|
|
101
|
+
input: string;
|
|
102
|
+
output: string;
|
|
103
|
+
};
|
|
96
104
|
Currency: {
|
|
97
105
|
input: string;
|
|
98
106
|
output: string;
|
|
@@ -129,6 +137,14 @@ export type Scalars = {
|
|
|
129
137
|
input: string;
|
|
130
138
|
output: string;
|
|
131
139
|
};
|
|
140
|
+
Unknown: {
|
|
141
|
+
input: unknown;
|
|
142
|
+
output: unknown;
|
|
143
|
+
};
|
|
144
|
+
Upload: {
|
|
145
|
+
input: File;
|
|
146
|
+
output: File;
|
|
147
|
+
};
|
|
132
148
|
};
|
|
133
149
|
export type AddPackageKeywordInput = {
|
|
134
150
|
id: Scalars["String"]["input"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../document-models/vetra-package/gen/schema/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../document-models/vetra-package/gen/schema/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as z from "zod";
|
|
2
2
|
import type { AddPackageKeywordInput, Author, Keyword, RemovePackageKeywordInput, SetPackageAuthorInput, SetPackageAuthorNameInput, SetPackageAuthorWebsiteInput, SetPackageCategoryInput, SetPackageDescriptionInput, SetPackageGithubUrlInput, SetPackageNameInput, SetPackageNpmUrlInput, VetraPackageState } from "./types.js";
|
|
3
3
|
type Properties<T> = Required<{
|
|
4
|
-
[K in keyof T]: z.ZodType<T[K]
|
|
4
|
+
[K in keyof T]: z.ZodType<T[K]>;
|
|
5
5
|
}>;
|
|
6
6
|
type definedNonNullAny = {};
|
|
7
7
|
export declare const isDefinedNonNullAny: (v: any) => v is definedNonNullAny;
|
|
8
|
-
export declare const definedNonNullAnySchema: z.
|
|
8
|
+
export declare const definedNonNullAnySchema: z.ZodAny;
|
|
9
9
|
export declare function AddPackageKeywordInputSchema(): z.ZodObject<Properties<AddPackageKeywordInput>>;
|
|
10
10
|
export declare function AuthorSchema(): z.ZodObject<Properties<Author>>;
|
|
11
11
|
export declare function KeywordSchema(): z.ZodObject<Properties<Keyword>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../../../document-models/vetra-package/gen/schema/zod.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../../../document-models/vetra-package/gen/schema/zod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EACV,sBAAsB,EACtB,MAAM,EACN,OAAO,EACP,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,KAAK,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAChC,CAAC,CAAC;AAEH,KAAK,iBAAiB,GAAG,EAAE,CAAC;AAE5B,eAAO,MAAM,mBAAmB,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,iBACnB,CAAC;AAEhC,eAAO,MAAM,uBAAuB,UAEI,CAAC;AAEzC,wBAAgB,4BAA4B,IAAI,CAAC,CAAC,SAAS,CACzD,UAAU,CAAC,sBAAsB,CAAC,CACnC,CAKA;AAED,wBAAgB,YAAY,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAM9D;AAED,wBAAgB,aAAa,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAMhE;AAED,wBAAgB,+BAA+B,IAAI,CAAC,CAAC,SAAS,CAC5D,UAAU,CAAC,yBAAyB,CAAC,CACtC,CAIA;AAED,wBAAgB,2BAA2B,IAAI,CAAC,CAAC,SAAS,CACxD,UAAU,CAAC,qBAAqB,CAAC,CAClC,CAKA;AAED,wBAAgB,+BAA+B,IAAI,CAAC,CAAC,SAAS,CAC5D,UAAU,CAAC,yBAAyB,CAAC,CACtC,CAIA;AAED,wBAAgB,kCAAkC,IAAI,CAAC,CAAC,SAAS,CAC/D,UAAU,CAAC,4BAA4B,CAAC,CACzC,CAIA;AAED,wBAAgB,6BAA6B,IAAI,CAAC,CAAC,SAAS,CAC1D,UAAU,CAAC,uBAAuB,CAAC,CACpC,CAIA;AAED,wBAAgB,gCAAgC,IAAI,CAAC,CAAC,SAAS,CAC7D,UAAU,CAAC,0BAA0B,CAAC,CACvC,CAIA;AAED,wBAAgB,8BAA8B,IAAI,CAAC,CAAC,SAAS,CAC3D,UAAU,CAAC,wBAAwB,CAAC,CACrC,CAIA;AAED,wBAAgB,yBAAyB,IAAI,CAAC,CAAC,SAAS,CACtD,UAAU,CAAC,mBAAmB,CAAC,CAChC,CAIA;AAED,wBAAgB,2BAA2B,IAAI,CAAC,CAAC,SAAS,CACxD,UAAU,CAAC,qBAAqB,CAAC,CAClC,CAIA;AAED,wBAAgB,uBAAuB,IAAI,CAAC,CAAC,SAAS,CACpD,UAAU,CAAC,iBAAiB,CAAC,CAC9B,CAWA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as z from "zod";
|
|
2
2
|
export const isDefinedNonNullAny = (v) => v !== undefined && v !== null;
|
|
3
3
|
export const definedNonNullAnySchema = z
|
|
4
4
|
.any()
|
|
@@ -12,8 +12,8 @@ export function AddPackageKeywordInputSchema() {
|
|
|
12
12
|
export function AuthorSchema() {
|
|
13
13
|
return z.object({
|
|
14
14
|
__typename: z.literal("Author").optional(),
|
|
15
|
-
name: z.string().
|
|
16
|
-
website: z.string().url().
|
|
15
|
+
name: z.string().nullish(),
|
|
16
|
+
website: z.string().url().nullish(),
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
export function KeywordSchema() {
|
|
@@ -72,12 +72,12 @@ export function SetPackageNpmUrlInputSchema() {
|
|
|
72
72
|
export function VetraPackageStateSchema() {
|
|
73
73
|
return z.object({
|
|
74
74
|
__typename: z.literal("VetraPackageState").optional(),
|
|
75
|
-
author: AuthorSchema(),
|
|
76
|
-
category: z.string().
|
|
77
|
-
description: z.string().
|
|
78
|
-
githubUrl: z.string().url().
|
|
79
|
-
keywords: z.array(KeywordSchema()),
|
|
80
|
-
name: z.string().
|
|
81
|
-
npmUrl: z.string().url().
|
|
75
|
+
author: z.lazy(() => AuthorSchema()),
|
|
76
|
+
category: z.string().nullish(),
|
|
77
|
+
description: z.string().nullish(),
|
|
78
|
+
githubUrl: z.string().url().nullish(),
|
|
79
|
+
keywords: z.array(z.lazy(() => KeywordSchema())),
|
|
80
|
+
name: z.string().nullish(),
|
|
81
|
+
npmUrl: z.string().url().nullish(),
|
|
82
82
|
});
|
|
83
83
|
}
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
* This is a scaffold file meant for customization:
|
|
3
3
|
* - change it by adding new tests or modifying the existing ones
|
|
4
4
|
*/
|
|
5
|
+
import { generateMock } from "@powerhousedao/codegen";
|
|
6
|
+
import { addPackageKeyword, AddPackageKeywordInputSchema, isVetraPackageDocument, reducer, removePackageKeyword, RemovePackageKeywordInputSchema, setPackageAuthor, SetPackageAuthorInputSchema, setPackageAuthorName, SetPackageAuthorNameInputSchema, setPackageAuthorWebsite, SetPackageAuthorWebsiteInputSchema, setPackageCategory, SetPackageCategoryInputSchema, setPackageDescription, SetPackageDescriptionInputSchema, setPackageGithubUrl, SetPackageGithubUrlInputSchema, setPackageName, SetPackageNameInputSchema, setPackageNpmUrl, SetPackageNpmUrlInputSchema, utils, } from "@powerhousedao/vetra/document-models/vetra-package";
|
|
5
7
|
import { beforeEach, describe, expect, it } from "vitest";
|
|
6
|
-
import * as creators from "../../gen/base-operations/creators.js";
|
|
7
|
-
import { reducer } from "../../gen/reducer.js";
|
|
8
|
-
import { utils } from "@powerhousedao/vetra/document-models/vetra-package";
|
|
9
8
|
describe("BaseOperations Operations", () => {
|
|
10
9
|
let document;
|
|
11
10
|
beforeEach(() => {
|
|
@@ -14,7 +13,7 @@ describe("BaseOperations Operations", () => {
|
|
|
14
13
|
describe("setPackageName", () => {
|
|
15
14
|
it("should mutate state with new name", () => {
|
|
16
15
|
const input = { name: "my-package" };
|
|
17
|
-
const updatedDocument = reducer(document,
|
|
16
|
+
const updatedDocument = reducer(document, setPackageName(input));
|
|
18
17
|
expect(updatedDocument.state.global.name).toBe("my-package");
|
|
19
18
|
});
|
|
20
19
|
});
|
|
@@ -23,14 +22,14 @@ describe("BaseOperations Operations", () => {
|
|
|
23
22
|
const input = {
|
|
24
23
|
description: "A test package",
|
|
25
24
|
};
|
|
26
|
-
const updatedDocument = reducer(document,
|
|
25
|
+
const updatedDocument = reducer(document, setPackageDescription(input));
|
|
27
26
|
expect(updatedDocument.state.global.description).toBe("A test package");
|
|
28
27
|
});
|
|
29
28
|
});
|
|
30
29
|
describe("setPackageCategory", () => {
|
|
31
30
|
it("should mutate state with new category", () => {
|
|
32
31
|
const input = { category: "utility" };
|
|
33
|
-
const updatedDocument = reducer(document,
|
|
32
|
+
const updatedDocument = reducer(document, setPackageCategory(input));
|
|
34
33
|
expect(updatedDocument.state.global.category).toBe("utility");
|
|
35
34
|
});
|
|
36
35
|
});
|
|
@@ -40,17 +39,17 @@ describe("BaseOperations Operations", () => {
|
|
|
40
39
|
name: "John Doe",
|
|
41
40
|
website: "https://johndoe.com",
|
|
42
41
|
};
|
|
43
|
-
const updatedDocument = reducer(document,
|
|
42
|
+
const updatedDocument = reducer(document, setPackageAuthor(input));
|
|
44
43
|
expect(updatedDocument.state.global.author.name).toBe("John Doe");
|
|
45
44
|
expect(updatedDocument.state.global.author.website).toBe("https://johndoe.com");
|
|
46
45
|
});
|
|
47
46
|
it("should handle partial author data (name only or website only)", () => {
|
|
48
47
|
// Name only
|
|
49
|
-
let updatedDoc = reducer(document,
|
|
48
|
+
let updatedDoc = reducer(document, setPackageAuthor({ name: "Jane Doe" }));
|
|
50
49
|
expect(updatedDoc.state.global.author.name).toBe("Jane Doe");
|
|
51
50
|
expect(updatedDoc.state.global.author.website).toBeNull();
|
|
52
51
|
// Website only
|
|
53
|
-
updatedDoc = reducer(updatedDoc,
|
|
52
|
+
updatedDoc = reducer(updatedDoc, setPackageAuthor({ website: "https://janedoe.com" }));
|
|
54
53
|
expect(updatedDoc.state.global.author.name).toBeNull();
|
|
55
54
|
expect(updatedDoc.state.global.author.website).toBe("https://janedoe.com");
|
|
56
55
|
});
|
|
@@ -58,7 +57,7 @@ describe("BaseOperations Operations", () => {
|
|
|
58
57
|
describe("setPackageAuthorName", () => {
|
|
59
58
|
it("should mutate state with new author name", () => {
|
|
60
59
|
const input = { name: "Alice" };
|
|
61
|
-
const updatedDocument = reducer(document,
|
|
60
|
+
const updatedDocument = reducer(document, setPackageAuthorName(input));
|
|
62
61
|
expect(updatedDocument.state.global.author.name).toBe("Alice");
|
|
63
62
|
});
|
|
64
63
|
});
|
|
@@ -67,7 +66,7 @@ describe("BaseOperations Operations", () => {
|
|
|
67
66
|
const input = {
|
|
68
67
|
website: "https://example.com",
|
|
69
68
|
};
|
|
70
|
-
const updatedDocument = reducer(document,
|
|
69
|
+
const updatedDocument = reducer(document, setPackageAuthorWebsite(input));
|
|
71
70
|
expect(updatedDocument.state.global.author.website).toBe("https://example.com");
|
|
72
71
|
});
|
|
73
72
|
});
|
|
@@ -77,7 +76,7 @@ describe("BaseOperations Operations", () => {
|
|
|
77
76
|
id: "kw-1",
|
|
78
77
|
label: "react",
|
|
79
78
|
};
|
|
80
|
-
const updatedDocument = reducer(document,
|
|
79
|
+
const updatedDocument = reducer(document, addPackageKeyword(input));
|
|
81
80
|
expect(updatedDocument.state.global.keywords).toContainEqual({
|
|
82
81
|
id: "kw-1",
|
|
83
82
|
label: "react",
|
|
@@ -89,15 +88,15 @@ describe("BaseOperations Operations", () => {
|
|
|
89
88
|
id: "first-kw",
|
|
90
89
|
label: "typescript",
|
|
91
90
|
};
|
|
92
|
-
const updatedDocument = reducer(document,
|
|
91
|
+
const updatedDocument = reducer(document, addPackageKeyword(input));
|
|
93
92
|
expect(updatedDocument.state.global.keywords).toEqual([
|
|
94
93
|
{ id: "first-kw", label: "typescript" },
|
|
95
94
|
]);
|
|
96
95
|
});
|
|
97
96
|
it("should add multiple keywords sequentially", () => {
|
|
98
|
-
let updatedDoc = reducer(document,
|
|
99
|
-
updatedDoc = reducer(updatedDoc,
|
|
100
|
-
updatedDoc = reducer(updatedDoc,
|
|
97
|
+
let updatedDoc = reducer(document, addPackageKeyword({ id: "kw-1", label: "react" }));
|
|
98
|
+
updatedDoc = reducer(updatedDoc, addPackageKeyword({ id: "kw-2", label: "vue" }));
|
|
99
|
+
updatedDoc = reducer(updatedDoc, addPackageKeyword({ id: "kw-3", label: "angular" }));
|
|
101
100
|
expect(updatedDoc.state.global.keywords).toHaveLength(3);
|
|
102
101
|
expect(updatedDoc.state.global.keywords[0]).toEqual({
|
|
103
102
|
id: "kw-1",
|
|
@@ -117,10 +116,10 @@ describe("BaseOperations Operations", () => {
|
|
|
117
116
|
id: "duplicate",
|
|
118
117
|
label: "first",
|
|
119
118
|
};
|
|
120
|
-
let updatedDoc = reducer(document,
|
|
119
|
+
let updatedDoc = reducer(document, addPackageKeyword(input));
|
|
121
120
|
expect(updatedDoc.state.global.keywords).toHaveLength(1);
|
|
122
121
|
expect(updatedDoc.operations.global[0].error).toBeUndefined();
|
|
123
|
-
updatedDoc = reducer(updatedDoc,
|
|
122
|
+
updatedDoc = reducer(updatedDoc, addPackageKeyword({
|
|
124
123
|
id: "duplicate",
|
|
125
124
|
label: "second",
|
|
126
125
|
}));
|
|
@@ -131,42 +130,42 @@ describe("BaseOperations Operations", () => {
|
|
|
131
130
|
});
|
|
132
131
|
describe("removePackageKeyword", () => {
|
|
133
132
|
it("should mutate state by removing keyword from array", () => {
|
|
134
|
-
let updatedDoc = reducer(document,
|
|
133
|
+
let updatedDoc = reducer(document, addPackageKeyword({
|
|
135
134
|
id: "to-remove",
|
|
136
135
|
label: "test",
|
|
137
136
|
}));
|
|
138
|
-
updatedDoc = reducer(updatedDoc,
|
|
137
|
+
updatedDoc = reducer(updatedDoc, removePackageKeyword({ id: "to-remove" }));
|
|
139
138
|
expect(updatedDoc.state.global.keywords).not.toContainEqual({
|
|
140
139
|
id: "to-remove",
|
|
141
140
|
label: "test",
|
|
142
141
|
});
|
|
143
142
|
});
|
|
144
143
|
it("should remove existing ID", () => {
|
|
145
|
-
let updatedDoc = reducer(document,
|
|
144
|
+
let updatedDoc = reducer(document, addPackageKeyword({
|
|
146
145
|
id: "existing",
|
|
147
146
|
label: "test",
|
|
148
147
|
}));
|
|
149
148
|
const lengthBefore = updatedDoc.state.global.keywords.length;
|
|
150
|
-
updatedDoc = reducer(updatedDoc,
|
|
149
|
+
updatedDoc = reducer(updatedDoc, removePackageKeyword({ id: "existing" }));
|
|
151
150
|
expect(updatedDoc.state.global.keywords.length).toBe(lengthBefore - 1);
|
|
152
151
|
expect(updatedDoc.state.global.keywords.find((kw) => kw.id === "existing")).toBeUndefined();
|
|
153
152
|
});
|
|
154
153
|
it("should gracefully handle non-existent ID", () => {
|
|
155
154
|
const initialState = document.state.global.keywords;
|
|
156
|
-
const updatedDocument = reducer(document,
|
|
155
|
+
const updatedDocument = reducer(document, removePackageKeyword({ id: "non-existent-id" }));
|
|
157
156
|
expect(updatedDocument.state.global.keywords).toEqual(initialState);
|
|
158
157
|
});
|
|
159
158
|
it("should handle empty array gracefully", () => {
|
|
160
159
|
expect(document.state.global.keywords).toEqual([]);
|
|
161
|
-
const updatedDocument = reducer(document,
|
|
160
|
+
const updatedDocument = reducer(document, removePackageKeyword({ id: "any-id" }));
|
|
162
161
|
expect(updatedDocument.state.global.keywords).toEqual([]);
|
|
163
162
|
});
|
|
164
163
|
it("should add then immediately remove item", () => {
|
|
165
|
-
let updatedDoc = reducer(document,
|
|
164
|
+
let updatedDoc = reducer(document, addPackageKeyword({
|
|
166
165
|
id: "temp-kw",
|
|
167
166
|
label: "temp",
|
|
168
167
|
}));
|
|
169
|
-
updatedDoc = reducer(updatedDoc,
|
|
168
|
+
updatedDoc = reducer(updatedDoc, removePackageKeyword({ id: "temp-kw" }));
|
|
170
169
|
expect(updatedDoc.state.global.keywords.find((kw) => kw.id === "temp-kw")).toBeUndefined();
|
|
171
170
|
expect(updatedDoc.operations.global).toHaveLength(2);
|
|
172
171
|
});
|
|
@@ -176,7 +175,7 @@ describe("BaseOperations Operations", () => {
|
|
|
176
175
|
const input = {
|
|
177
176
|
url: "https://github.com/user/repo",
|
|
178
177
|
};
|
|
179
|
-
const updatedDocument = reducer(document,
|
|
178
|
+
const updatedDocument = reducer(document, setPackageGithubUrl(input));
|
|
180
179
|
expect(updatedDocument.state.global.githubUrl).toBe("https://github.com/user/repo");
|
|
181
180
|
});
|
|
182
181
|
});
|
|
@@ -185,8 +184,108 @@ describe("BaseOperations Operations", () => {
|
|
|
185
184
|
const input = {
|
|
186
185
|
url: "https://npmjs.com/package/my-package",
|
|
187
186
|
};
|
|
188
|
-
const updatedDocument = reducer(document,
|
|
187
|
+
const updatedDocument = reducer(document, setPackageNpmUrl(input));
|
|
189
188
|
expect(updatedDocument.state.global.npmUrl).toBe("https://npmjs.com/package/my-package");
|
|
190
189
|
});
|
|
191
190
|
});
|
|
191
|
+
it("should handle setPackageName operation", () => {
|
|
192
|
+
const document = utils.createDocument();
|
|
193
|
+
const input = generateMock(SetPackageNameInputSchema());
|
|
194
|
+
const updatedDocument = reducer(document, setPackageName(input));
|
|
195
|
+
expect(isVetraPackageDocument(updatedDocument)).toBe(true);
|
|
196
|
+
expect(updatedDocument.operations.global).toHaveLength(1);
|
|
197
|
+
expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_NAME");
|
|
198
|
+
expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
|
|
199
|
+
expect(updatedDocument.operations.global[0].index).toEqual(0);
|
|
200
|
+
});
|
|
201
|
+
it("should handle setPackageDescription operation", () => {
|
|
202
|
+
const document = utils.createDocument();
|
|
203
|
+
const input = generateMock(SetPackageDescriptionInputSchema());
|
|
204
|
+
const updatedDocument = reducer(document, setPackageDescription(input));
|
|
205
|
+
expect(isVetraPackageDocument(updatedDocument)).toBe(true);
|
|
206
|
+
expect(updatedDocument.operations.global).toHaveLength(1);
|
|
207
|
+
expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_DESCRIPTION");
|
|
208
|
+
expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
|
|
209
|
+
expect(updatedDocument.operations.global[0].index).toEqual(0);
|
|
210
|
+
});
|
|
211
|
+
it("should handle setPackageCategory operation", () => {
|
|
212
|
+
const document = utils.createDocument();
|
|
213
|
+
const input = generateMock(SetPackageCategoryInputSchema());
|
|
214
|
+
const updatedDocument = reducer(document, setPackageCategory(input));
|
|
215
|
+
expect(isVetraPackageDocument(updatedDocument)).toBe(true);
|
|
216
|
+
expect(updatedDocument.operations.global).toHaveLength(1);
|
|
217
|
+
expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_CATEGORY");
|
|
218
|
+
expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
|
|
219
|
+
expect(updatedDocument.operations.global[0].index).toEqual(0);
|
|
220
|
+
});
|
|
221
|
+
it("should handle setPackageAuthor operation", () => {
|
|
222
|
+
const document = utils.createDocument();
|
|
223
|
+
const input = generateMock(SetPackageAuthorInputSchema());
|
|
224
|
+
const updatedDocument = reducer(document, setPackageAuthor(input));
|
|
225
|
+
expect(isVetraPackageDocument(updatedDocument)).toBe(true);
|
|
226
|
+
expect(updatedDocument.operations.global).toHaveLength(1);
|
|
227
|
+
expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_AUTHOR");
|
|
228
|
+
expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
|
|
229
|
+
expect(updatedDocument.operations.global[0].index).toEqual(0);
|
|
230
|
+
});
|
|
231
|
+
it("should handle setPackageAuthorName operation", () => {
|
|
232
|
+
const document = utils.createDocument();
|
|
233
|
+
const input = generateMock(SetPackageAuthorNameInputSchema());
|
|
234
|
+
const updatedDocument = reducer(document, setPackageAuthorName(input));
|
|
235
|
+
expect(isVetraPackageDocument(updatedDocument)).toBe(true);
|
|
236
|
+
expect(updatedDocument.operations.global).toHaveLength(1);
|
|
237
|
+
expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_AUTHOR_NAME");
|
|
238
|
+
expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
|
|
239
|
+
expect(updatedDocument.operations.global[0].index).toEqual(0);
|
|
240
|
+
});
|
|
241
|
+
it("should handle setPackageAuthorWebsite operation", () => {
|
|
242
|
+
const document = utils.createDocument();
|
|
243
|
+
const input = generateMock(SetPackageAuthorWebsiteInputSchema());
|
|
244
|
+
const updatedDocument = reducer(document, setPackageAuthorWebsite(input));
|
|
245
|
+
expect(isVetraPackageDocument(updatedDocument)).toBe(true);
|
|
246
|
+
expect(updatedDocument.operations.global).toHaveLength(1);
|
|
247
|
+
expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_AUTHOR_WEBSITE");
|
|
248
|
+
expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
|
|
249
|
+
expect(updatedDocument.operations.global[0].index).toEqual(0);
|
|
250
|
+
});
|
|
251
|
+
it("should handle addPackageKeyword operation", () => {
|
|
252
|
+
const document = utils.createDocument();
|
|
253
|
+
const input = generateMock(AddPackageKeywordInputSchema());
|
|
254
|
+
const updatedDocument = reducer(document, addPackageKeyword(input));
|
|
255
|
+
expect(isVetraPackageDocument(updatedDocument)).toBe(true);
|
|
256
|
+
expect(updatedDocument.operations.global).toHaveLength(1);
|
|
257
|
+
expect(updatedDocument.operations.global[0].action.type).toBe("ADD_PACKAGE_KEYWORD");
|
|
258
|
+
expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
|
|
259
|
+
expect(updatedDocument.operations.global[0].index).toEqual(0);
|
|
260
|
+
});
|
|
261
|
+
it("should handle removePackageKeyword operation", () => {
|
|
262
|
+
const document = utils.createDocument();
|
|
263
|
+
const input = generateMock(RemovePackageKeywordInputSchema());
|
|
264
|
+
const updatedDocument = reducer(document, removePackageKeyword(input));
|
|
265
|
+
expect(isVetraPackageDocument(updatedDocument)).toBe(true);
|
|
266
|
+
expect(updatedDocument.operations.global).toHaveLength(1);
|
|
267
|
+
expect(updatedDocument.operations.global[0].action.type).toBe("REMOVE_PACKAGE_KEYWORD");
|
|
268
|
+
expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
|
|
269
|
+
expect(updatedDocument.operations.global[0].index).toEqual(0);
|
|
270
|
+
});
|
|
271
|
+
it("should handle setPackageGithubUrl operation", () => {
|
|
272
|
+
const document = utils.createDocument();
|
|
273
|
+
const input = generateMock(SetPackageGithubUrlInputSchema());
|
|
274
|
+
const updatedDocument = reducer(document, setPackageGithubUrl(input));
|
|
275
|
+
expect(isVetraPackageDocument(updatedDocument)).toBe(true);
|
|
276
|
+
expect(updatedDocument.operations.global).toHaveLength(1);
|
|
277
|
+
expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_GITHUB_URL");
|
|
278
|
+
expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
|
|
279
|
+
expect(updatedDocument.operations.global[0].index).toEqual(0);
|
|
280
|
+
});
|
|
281
|
+
it("should handle setPackageNpmUrl operation", () => {
|
|
282
|
+
const document = utils.createDocument();
|
|
283
|
+
const input = generateMock(SetPackageNpmUrlInputSchema());
|
|
284
|
+
const updatedDocument = reducer(document, setPackageNpmUrl(input));
|
|
285
|
+
expect(isVetraPackageDocument(updatedDocument)).toBe(true);
|
|
286
|
+
expect(updatedDocument.operations.global).toHaveLength(1);
|
|
287
|
+
expect(updatedDocument.operations.global[0].action.type).toBe("SET_PACKAGE_NPM_URL");
|
|
288
|
+
expect(updatedDocument.operations.global[0].action.input).toStrictEqual(input);
|
|
289
|
+
expect(updatedDocument.operations.global[0].index).toEqual(0);
|
|
290
|
+
});
|
|
192
291
|
});
|
|
@@ -1,6 +1,32 @@
|
|
|
1
|
+
import path from "path";
|
|
1
2
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
import {
|
|
3
|
+
import { USE_TS_MORPH, USE_VERSIONING, } from "../document-handlers/generators/constants.js";
|
|
3
4
|
import { CodegenProcessor } from "../index.js";
|
|
5
|
+
const defaultManifest = {
|
|
6
|
+
name: "",
|
|
7
|
+
description: "",
|
|
8
|
+
category: "",
|
|
9
|
+
publisher: {
|
|
10
|
+
name: "",
|
|
11
|
+
url: "",
|
|
12
|
+
},
|
|
13
|
+
documentModels: [],
|
|
14
|
+
editors: [],
|
|
15
|
+
apps: [],
|
|
16
|
+
subgraphs: [],
|
|
17
|
+
importScripts: [],
|
|
18
|
+
};
|
|
19
|
+
function mockGetPHConfig() {
|
|
20
|
+
return {
|
|
21
|
+
logLevel: "verbose",
|
|
22
|
+
skipFormat: true,
|
|
23
|
+
documentModelsDir: path.join(process.cwd(), "document-models"),
|
|
24
|
+
editorsDir: path.join(process.cwd(), "editors"),
|
|
25
|
+
processorsDir: path.join(process.cwd(), "processors"),
|
|
26
|
+
subgraphsDir: path.join(process.cwd(), "subgraphs"),
|
|
27
|
+
importScriptsDir: path.join(process.cwd(), "import-scripts"),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
4
30
|
// Mock ONLY the external codegen library boundary
|
|
5
31
|
vi.mock("@powerhousedao/codegen", () => ({
|
|
6
32
|
generateEditor: vi.fn(),
|
|
@@ -14,7 +40,7 @@ vi.mock("@powerhousedao/codegen", () => ({
|
|
|
14
40
|
}));
|
|
15
41
|
// Mock config functions
|
|
16
42
|
vi.mock("@powerhousedao/config/node", () => ({
|
|
17
|
-
getConfig: vi.fn(
|
|
43
|
+
getConfig: vi.fn(mockGetPHConfig),
|
|
18
44
|
}));
|
|
19
45
|
// Mock kebabCase
|
|
20
46
|
vi.mock("change-case", () => ({
|
|
@@ -37,7 +63,7 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
37
63
|
// Use fake timers to control setTimeout
|
|
38
64
|
vi.useFakeTimers();
|
|
39
65
|
mockConfig = {
|
|
40
|
-
PH_CONFIG:
|
|
66
|
+
PH_CONFIG: mockGetPHConfig(),
|
|
41
67
|
// Use the actual working directory for consistency
|
|
42
68
|
CURRENT_WORKING_DIR: process.cwd(),
|
|
43
69
|
};
|
|
@@ -45,15 +71,16 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
45
71
|
processor = new CodegenProcessor();
|
|
46
72
|
// Reset all codegen function mocks to resolve successfully
|
|
47
73
|
const codegen = await import("@powerhousedao/codegen");
|
|
48
|
-
vi.mocked(codegen.generateEditor).mockResolvedValue(
|
|
49
|
-
vi.mocked(codegen.generateFromDocument).mockResolvedValue(
|
|
50
|
-
vi.mocked(codegen.generateSubgraphFromDocumentModel).mockResolvedValue(
|
|
51
|
-
vi.mocked(codegen.generateManifest).mockResolvedValue(
|
|
52
|
-
vi.mocked(codegen.generateDriveEditor).mockResolvedValue(
|
|
53
|
-
vi.mocked(codegen.generateSubgraph).mockResolvedValue(
|
|
54
|
-
vi.mocked(codegen.generateProcessor).mockResolvedValue(
|
|
74
|
+
vi.mocked(codegen.generateEditor).mockResolvedValue();
|
|
75
|
+
vi.mocked(codegen.generateFromDocument).mockResolvedValue();
|
|
76
|
+
vi.mocked(codegen.generateSubgraphFromDocumentModel).mockResolvedValue();
|
|
77
|
+
vi.mocked(codegen.generateManifest).mockResolvedValue(JSON.stringify(defaultManifest));
|
|
78
|
+
vi.mocked(codegen.generateDriveEditor).mockResolvedValue();
|
|
79
|
+
vi.mocked(codegen.generateSubgraph).mockResolvedValue();
|
|
80
|
+
vi.mocked(codegen.generateProcessor).mockResolvedValue();
|
|
55
81
|
vi.mocked(codegen.validateDocumentModelState).mockReturnValue({
|
|
56
82
|
isValid: true,
|
|
83
|
+
errors: [],
|
|
57
84
|
});
|
|
58
85
|
});
|
|
59
86
|
afterEach(() => {
|
|
@@ -79,28 +106,35 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
79
106
|
await processor.onStrands([strand]);
|
|
80
107
|
// Advance timers to trigger debounced generation
|
|
81
108
|
await vi.runAllTimersAsync();
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
"
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
109
|
+
const generateEditorArgs = [
|
|
110
|
+
{
|
|
111
|
+
name: "Test Editor",
|
|
112
|
+
documentTypes: [
|
|
113
|
+
"powerhouse/document-model",
|
|
114
|
+
"powerhouse/budget-statement",
|
|
115
|
+
],
|
|
116
|
+
config: mockConfig.PH_CONFIG,
|
|
117
|
+
editorId: "test-editor",
|
|
118
|
+
useTsMorph: USE_TS_MORPH,
|
|
119
|
+
},
|
|
120
|
+
];
|
|
121
|
+
expect(generateEditor).toHaveBeenCalledWith(...generateEditorArgs);
|
|
122
|
+
const generateManifestArgs = [
|
|
123
|
+
{
|
|
124
|
+
editors: [
|
|
125
|
+
{
|
|
126
|
+
id: "test-editor",
|
|
127
|
+
name: "Test Editor",
|
|
128
|
+
documentTypes: [
|
|
129
|
+
"powerhouse/document-model",
|
|
130
|
+
"powerhouse/budget-statement",
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
mockConfig.CURRENT_WORKING_DIR,
|
|
136
|
+
];
|
|
137
|
+
expect(generateManifest).toHaveBeenCalledWith(...generateManifestArgs);
|
|
104
138
|
});
|
|
105
139
|
it("should not call codegen functions for invalid document-editor strand (missing name)", async () => {
|
|
106
140
|
const { generateEditor, generateManifest } = await import("@powerhousedao/codegen");
|
|
@@ -172,7 +206,15 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
172
206
|
};
|
|
173
207
|
await processor.onStrands([strand]);
|
|
174
208
|
await vi.runAllTimersAsync();
|
|
175
|
-
|
|
209
|
+
const generateFromDocumentArgs = [
|
|
210
|
+
{
|
|
211
|
+
useTsMorph: USE_TS_MORPH,
|
|
212
|
+
useVersioning: USE_VERSIONING,
|
|
213
|
+
documentModelState: validState,
|
|
214
|
+
config: mockConfig.PH_CONFIG,
|
|
215
|
+
},
|
|
216
|
+
];
|
|
217
|
+
expect(generateFromDocument).toHaveBeenCalledWith(...generateFromDocumentArgs);
|
|
176
218
|
expect(generateSubgraphFromDocumentModel).toHaveBeenCalledWith("Test Model", validState, mockConfig.PH_CONFIG, { verbose: false });
|
|
177
219
|
expect(generateManifest).toHaveBeenCalledWith({
|
|
178
220
|
documentModels: [
|
|
@@ -209,6 +251,13 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
209
251
|
const validState = {
|
|
210
252
|
id: "test-model-id",
|
|
211
253
|
name: "Test Model",
|
|
254
|
+
author: {
|
|
255
|
+
name: "test",
|
|
256
|
+
website: "https://test.com",
|
|
257
|
+
},
|
|
258
|
+
description: "",
|
|
259
|
+
extension: ".phd",
|
|
260
|
+
specifications: [],
|
|
212
261
|
};
|
|
213
262
|
const strand = {
|
|
214
263
|
documentId: "test-doc-1",
|
|
@@ -316,14 +365,17 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
316
365
|
};
|
|
317
366
|
await processor.onStrands([strand]);
|
|
318
367
|
await vi.runAllTimersAsync();
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
368
|
+
const generateDriveEditorArgs = [
|
|
369
|
+
{
|
|
370
|
+
name: "Test App",
|
|
371
|
+
config: mockConfig.PH_CONFIG,
|
|
372
|
+
appId: "test-app",
|
|
373
|
+
allowedDocumentTypes: "",
|
|
374
|
+
isDragAndDropEnabled: false,
|
|
375
|
+
useTsMorph: USE_TS_MORPH,
|
|
376
|
+
},
|
|
377
|
+
];
|
|
378
|
+
expect(generateDriveEditor).toHaveBeenCalledWith(...generateDriveEditorArgs);
|
|
327
379
|
expect(generateManifest).toHaveBeenCalledWith({
|
|
328
380
|
apps: [
|
|
329
381
|
{
|
|
@@ -358,7 +410,7 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
358
410
|
appId: "test-app",
|
|
359
411
|
allowedDocumentTypes: "powerhouse/document-model,powerhouse/budget-statement",
|
|
360
412
|
isDragAndDropEnabled: true,
|
|
361
|
-
|
|
413
|
+
useTsMorph: USE_TS_MORPH,
|
|
362
414
|
});
|
|
363
415
|
expect(generateManifest).toHaveBeenCalled();
|
|
364
416
|
});
|
|
@@ -510,7 +562,7 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
510
562
|
documentTypes: ["powerhouse/document-model"],
|
|
511
563
|
config: mockConfig.PH_CONFIG,
|
|
512
564
|
editorId: "test-editor",
|
|
513
|
-
|
|
565
|
+
useTsMorph: USE_TS_MORPH,
|
|
514
566
|
});
|
|
515
567
|
expect(generateSubgraph).toHaveBeenCalledWith("Test Subgraph", null, mockConfig.PH_CONFIG);
|
|
516
568
|
// generateManifest should be called twice (once for each strand)
|
|
@@ -549,7 +601,7 @@ describe("CodegenProcessor E2E Tests", () => {
|
|
|
549
601
|
documentTypes: ["powerhouse/document-model"],
|
|
550
602
|
config: mockConfig.PH_CONFIG,
|
|
551
603
|
editorId: "test-editor",
|
|
552
|
-
|
|
604
|
+
useTsMorph: USE_TS_MORPH,
|
|
553
605
|
});
|
|
554
606
|
// Invalid strand should NOT be processed
|
|
555
607
|
expect(generateSubgraph).not.toHaveBeenCalled();
|