chore: wip

Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
blam
2024-08-08 12:13:05 +02:00
parent feb5fc73c3
commit 467ec43f55
@@ -660,6 +660,57 @@ describe('createExtension', () => {
expect(true).toBe(true);
});
it('should allow overriding the returned values from the parent factory', () => {
const testExtension = createExtension({
kind: 'thing',
namespace: 'test',
attachTo: { id: 'root', input: 'default' },
output: [stringDataRef, numberDataRef],
config: {
schema: {
foo: z => z.string().default('boom'),
},
},
factory({ config }) {
return [stringDataRef(config.foo), numberDataRef(42)];
},
});
const overridden = testExtension.override({
output: [numberDataRef, stringDataRef],
*factory(originalFactory) {
const output = originalFactory();
yield* output;
yield numberDataRef(output.get(numberDataRef) + 1);
},
});
const overridden = testExtension.override({
output: [numberDataRef, stringDataRef],
*factory(originalFactory) {
const output = originalFactory();
yield* output.omit(numberDataRef);
yield numberDataRef(output.get(numberDataRef) + 1);
},
});
const overridden = testExtension.override({
output: [numberDataRef, stringDataRef],
*factory(originalFactory) {
const output = originalFactory();
yield* output;
yield numberDataRef(output.get(numberDataRef) + 1);
},
});
const tester = createExtensionTester(overridden);
expect(tester.data(numberDataRef)).toBe(43);
});
it('should work functionally with overrides', () => {
const testExtension = createExtension({
kind: 'thing',