Skip to content

Commit

Permalink
test: fix flaky e2e tests (ChainSafe#6231)
Browse files Browse the repository at this point in the history
  • Loading branch information
nflaig authored and ensi321 committed Jan 22, 2024
1 parent a53a6ad commit facb360
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 14 deletions.
14 changes: 4 additions & 10 deletions packages/cli/test/utils/runUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,14 @@ export function findApiToken(dirpath: string): string {
}

export function expectDeepEquals<T>(a: T, b: T, message: string): void {
try {
expect(a).toEqual(b);
} catch (e) {
expect.fail(message);
}
expect(a).toEqualWithMessage(b, message);
}

/**
* Similar to `expectDeepEquals` but only checks presence of all elements in array, irrespective of their order.
*/
export function expectDeepEqualsUnordered<T>(a: T[], b: T[], message: string): void {
try {
expect(a.sort()).toEqual(b.sort());
} catch (e) {
expect.fail(message);
}
expect(a).toEqualWithMessage(expect.arrayContaining(b), message);
expect(b).toEqualWithMessage(expect.arrayContaining(a), message);
expect(a).toHaveLength(b.length);
}
12 changes: 8 additions & 4 deletions scripts/vitest/customMatchers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,40 +42,44 @@ expect.extend({
toBeWithMessage(received: unknown, expected: unknown, message: string) {
if (Object.is(received, expected)) {
return {
message: () => "Expected value is truthy",
message: () => "Received value is the same as expected value",
pass: true,
};
}

return {
pass: false,
message: () => message,
actual: received,
expected,
};
},
toSatisfy(received: unknown, func: (received: unknown) => boolean) {
if (func(received)) {
return {
message: () => "Expected value satisfied the condition",
message: () => "Received value satisfied the condition",
pass: true,
};
}

return {
pass: false,
message: () => "Expected value did not satisfy the condition",
message: () => "Received value did not satisfy the condition",
};
},
toEqualWithMessage(received: unknown, expected: unknown, message: string) {
if (this.equals(received, expected)) {
return {
message: () => "Expected value is truthy",
message: () => "Received value equals expected value",
pass: true,
};
}

return {
pass: false,
message: () => message,
actual: received,
expected,
};
},
});

0 comments on commit facb360

Please sign in to comment.