Skip to content

Commit 6b213b4

Browse files
committed
WIP: tests
1 parent 145afa8 commit 6b213b4

File tree

3 files changed

+60
-12
lines changed

3 files changed

+60
-12
lines changed

packages/js/client/src/__tests__/Web3ApiClient.spec.ts

+10-10
Original file line numberDiff line numberDiff line change
@@ -2164,8 +2164,8 @@ enum Logger_LogLevel @imported(
21642164
expect((query.data as any).queryImplementations).toEqual([implementationUri]);
21652165
});
21662166

2167-
it("e2e Interface invoke method ", async () => {
2168-
const interfaceUri = "w3://ens/interface.eth"
2167+
it("e2e Interface invoke method", async () => {
2168+
const interfaceUri = "w3://ens/interface.eth";
21692169

21702170
const implementationApi = await buildAndDeployApi(
21712171
`${GetPathToTestApis()}/interface-invoke/test-implementation`,
@@ -2174,22 +2174,22 @@ enum Logger_LogLevel @imported(
21742174
);
21752175
const implementationUri = `w3://ens/testnet/${implementationApi.ensDomain}`;
21762176

2177+
const api = await buildAndDeployApi(
2178+
`${GetPathToTestApis()}/interface-invoke/test-api`,
2179+
ipfsProvider,
2180+
ensAddress
2181+
);
2182+
const apiUri = `w3://ens/testnet/${api.ensDomain}`;
2183+
21772184
const client = await getClient({
21782185
interfaces: [
21792186
{
21802187
interface: interfaceUri,
2181-
implementations: [implementationUri],
2188+
implementations: [apiUri],
21822189
}
21832190
],
21842191
});
21852192

2186-
const api = await buildAndDeployApi(
2187-
`${GetPathToTestApis()}/interface-invoke/test-api`,
2188-
ipfsProvider,
2189-
ensAddress
2190-
);
2191-
const apiUri = `w3://ens/testnet/${api.ensDomain}`;
2192-
21932193
const query = await client.query<{
21942194
queryMethod: string;
21952195
abstractQueryMethod: string;

packages/schema/parse/src/typeInfo/index.ts

+49-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import {
77
EnumDefinition,
88
ImportedEnumDefinition,
99
InterfaceDefinition,
10+
// CapabilityType,
11+
// CapabilityDefinition,
1012
} from "./definitions";
1113

1214
export * from "./definitions";
@@ -69,7 +71,43 @@ export function combineTypeInfo(typeInfos: TypeInfo[]): TypeInfo {
6971
}
7072

7173
for (const interfaceType of typeInfo.interfaceTypes) {
72-
tryInsert(combined.interfaceTypes, interfaceType);
74+
tryInsert(
75+
combined.interfaceTypes,
76+
interfaceType,
77+
(a, b) => (false)
78+
// compareImportedType,
79+
// (
80+
// a: InterfaceDefinition,
81+
// b: InterfaceDefinition
82+
// ): InterfaceDefinition => {
83+
// const combinedCapabilities: CapabilityDefinition = {
84+
// ...a.capabilities,
85+
// ...b.capabilities,
86+
// };
87+
// const combinedCapabilityTypes = Object.keys(
88+
// combinedCapabilities
89+
// ) as CapabilityType[];
90+
// for (const capability of combinedCapabilityTypes) {
91+
// if (b.capabilities[capability] && a.capabilities[capability]) {
92+
// const combinedModules = Array.from(
93+
// new Set([
94+
// ...a.capabilities[capability].modules,
95+
// ...b.capabilities[capability].modules,
96+
// ])
97+
// );
98+
// combinedCapabilities[capability] = {
99+
// enabled: true,
100+
// modules: combinedModules,
101+
// };
102+
// } else if (a.capabilities[capability]) {
103+
// combinedCapabilities[capability] = a.capabilities[capability];
104+
// } else if (b.capabilities[capability]) {
105+
// combinedCapabilities[capability] = b.capabilities[capability];
106+
// }
107+
// }
108+
// return { ...a, capabilities: combinedCapabilities };
109+
// }
110+
);
73111
}
74112

75113
for (const importedObjectType of typeInfo.importedObjectTypes) {
@@ -100,13 +138,22 @@ const tryInsert = (
100138
dest: GenericDefinition[],
101139
value: GenericDefinition,
102140
compare: (a: GenericDefinition, b: GenericDefinition) => boolean = (a, b) =>
103-
a.type === b.type
141+
a.type === b.type,
142+
join?: (
143+
dest: GenericDefinition,
144+
source: GenericDefinition
145+
) => GenericDefinition
104146
) => {
105147
const index = dest.findIndex((item: GenericDefinition) =>
106148
compare(item, value)
107149
);
108150

109151
if (index > -1) {
152+
if (join) {
153+
dest[index] = join(dest[index], value);
154+
return;
155+
}
156+
110157
const destType = JSON.stringify(dest[index]);
111158
const valueType = JSON.stringify(value);
112159
if (destType !== valueType) {

tsconfig.json

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"es5",
77
"dom"
88
],
9+
"downlevelIteration": true,
910
"experimentalDecorators": true,
1011
"moduleResolution": "node",
1112
"declaration": true,

0 commit comments

Comments
 (0)