Skip to content

Commit

Permalink
All tests pass
Browse files Browse the repository at this point in the history
  • Loading branch information
ealush committed Aug 11, 2024
1 parent 0cfa3dd commit 3541ada
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 22 deletions.
6 changes: 5 additions & 1 deletion packages/vest/src/core/test/test.memo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,11 @@ function useGetTestFromCache(
return cache(dependencies, cacheAction);
}

VestRuntime.addNodeToHistory(cachedValue);
// FIXME(@ealush 2024-08-12): This is some kind of a hack. Instead organically letting Vest set the next

Check warning on line 69 in packages/vest/src/core/test/test.memo.ts

View workflow job for this annotation

GitHub Actions / build (20)

Unexpected 'fixme' comment: 'FIXME(@*** 2024-08-12): This is some...'
// child of the isolate, we're forcing it from the outside.
// Instead, an ideal solution would probably be to have test.memo be its own isolate
// that just injects a historic output from a previous test run.
VestRuntime.useSetNextIsolateChild(cachedValue);

return cachedValue;
}
Expand Down
12 changes: 6 additions & 6 deletions packages/vest/src/hooks/__tests__/mode.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -184,12 +184,12 @@ describe('mode', () => {
it('Should follow the same behavior as if it was not nested', () => {
const suite = create(() => {
group('group_1', () => {
dummyTest.failing('field_1', 'first-of-field_1');
dummyTest.failing('field_1', 'second-of-field_1');
dummyTest.failing('field_2', 'first-of-field_2');
dummyTest.failing('field_2', 'second-of-field_2');
dummyTest.failing('field_3', 'first-of-field_3');
dummyTest.failing('field_3', 'second-of-field_3');
Vest.test('field_1', 'first-of-field_1', () => false);
Vest.test('field_1', 'second-of-field_1', () => false);
Vest.test('field_2', 'first-of-field_2', () => false);
Vest.test('field_2', 'second-of-field_2', () => false);
Vest.test('field_3', 'first-of-field_3', () => false);
Vest.test('field_3', 'second-of-field_3', () => false);
});
});
expect(suite.get().testCount).toBe(0); // sanity
Expand Down
9 changes: 8 additions & 1 deletion packages/vestjs-runtime/src/Isolate/Isolate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ type UsedFeaturesOnly<P extends IsolatePayload> = Pick<
>;

export class Isolate {
// eslint-disable-next-line max-statements
static create<Payload extends IsolatePayload>(
type: string,
callback: CB,
Expand All @@ -48,11 +49,17 @@ export class Isolate {

const shouldRunNew = Object.is(nextIsolateChild, newCreatedNode);

if (parent) {
VestRuntime.useSetNextIsolateChild(nextIsolateChild);
}

const output = shouldRunNew
? useRunAsNew(localHistoryNode, newCreatedNode, callback)
: nextIsolateChild.output;

VestRuntime.addNodeToHistory(nextIsolateChild);
if (!parent) {
VestRuntime.useSetHistoryRoot(nextIsolateChild);
}

IsolateMutator.saveOutput(nextIsolateChild, output);

Expand Down
19 changes: 5 additions & 14 deletions packages/vestjs-runtime/src/VestRuntime.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,14 @@ export const Run = PersistedContext.run;

export const RuntimeApi = {
Run,
addNodeToHistory,
createRef,
persist,
reset,
useAvailableRoot,
useCurrentCursor,
useHistoryRoot,
useSetHistoryRoot,
useSetNextIsolateChild,
useXAppData,
};

Expand Down Expand Up @@ -101,7 +102,7 @@ export function useX<T = object>(): CTXType & T {
return PersistedContext.useX() as CTXType & T;
}

function useHistoryRoot() {
export function useHistoryRoot() {
return useX().stateRef.historyRoot();
}
export function useHistoryIsolate() {
Expand Down Expand Up @@ -130,18 +131,7 @@ export function useHistoryIsolateAtCurrentPosition() {
return historyNode;
}

export function addNodeToHistory(node: TIsolate): void {
const parent = useIsolate();
if (parent) {
useSetNextIsolateChild(node);
} else {
useSetHistoryRoot(node);
}

IsolateMutator.setParent(node, parent);
}

function useSetHistoryRoot(history: TIsolate) {
export function useSetHistoryRoot(history: TIsolate) {
const [, setHistoryRoot] = useHistoryRoot();
setHistoryRoot(history);
}
Expand Down Expand Up @@ -171,6 +161,7 @@ export function useSetNextIsolateChild(child: TIsolate): void {
invariant(currentIsolate, ErrorStrings.NO_ACTIVE_ISOLATE);

IsolateMutator.addChild(currentIsolate, child);
IsolateMutator.setParent(child, currentIsolate);
}
export function useSetIsolateKey(key: Nullable<string>, node: TIsolate): void {
if (!key) {
Expand Down

0 comments on commit 3541ada

Please sign in to comment.