Skip to content

Commit

Permalink
fix: some e2e tests
Browse files Browse the repository at this point in the history
  • Loading branch information
arthurgeron committed Jan 27, 2025
1 parent 18c8ad9 commit ecd8524
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 26 deletions.
61 changes: 35 additions & 26 deletions packages/app/playwright/e2e/ReportError.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,11 @@ test.describe('ReportError', () => {
await getByAriaLabel(page, 'Send error reports').click();
await expect(page.getByText(/Unexpected error/)).toHaveCount(0);

await page.waitForTimeout(2000);
const errorsAfterReporting = await getPageErrors(page);
expect(errorsAfterReporting.length).toBe(0);
await expect
.poll(async () => (await getPageErrors(page)).length, {
timeout: 10000,
})
.toBe(0);
});

test('should show Review Error in menu when there is a error in the database', async () => {
Expand Down Expand Up @@ -108,8 +110,11 @@ test.describe('ReportError', () => {
await getByAriaLabel(page, 'Ignore error(s)').click();
await expect(page.getByText(/Unexpected error/i)).toHaveCount(0);

await page.pause();
expect((await getPageErrors(page)).length).toBe(0);
await expect
.poll(async () => (await getPageErrors(page)).length, {
timeout: 10000,
})
.toBe(1);
});
test('should be able to dismiss all errors', async () => {
await visit(page, '/');
Expand Down Expand Up @@ -142,8 +147,11 @@ test.describe('ReportError', () => {
).click();
await expect(page.getByText(/Unexpected error/i)).toHaveCount(0);

const errorsAfterReporting = await getPageErrors(page);
expect(errorsAfterReporting.length).toBe(0);
await expect
.poll(async () => (await getPageErrors(page)).length, {
timeout: 10000,
})
.toBe(0);
});
test('should hide when the single error is dismissed', async () => {
await visit(page, '/');
Expand Down Expand Up @@ -173,8 +181,11 @@ test.describe('ReportError', () => {
await getByAriaLabel(page, 'Dismiss error').click();
await expect(page.getByText(/Unexpected error/i)).toHaveCount(0);

const errorsAfterReporting = await getPageErrors(page);
expect(errorsAfterReporting.length).toBe(0);
await expect
.poll(async () => (await getPageErrors(page)).length, {
timeout: 10000,
})
.toBe(0);
});
test('should detect and capture global errors', async () => {
await page.evaluate(async () => {
Expand Down Expand Up @@ -234,12 +245,13 @@ test.describe('ReportError', () => {
});
test('should not show ignored errors', async () => {
await visit(page, '/');

await page.evaluate(async () => {
await window.fuelDB.errors.add({
id: '12345',
error: {
name: 'React error',
message: 'React error',
name: 'React Error',
message: 'React Error',
stack: 'Line error 1',
},
extra: {
Expand All @@ -251,20 +263,17 @@ test.describe('ReportError', () => {
},
});
});
await reload(page);
await getByAriaLabel(page, 'Menu').click();
// hasErrors should not be visible
expect
.poll(() => page.locator(`[data-key="hasErrors"]`).isVisible(), {
timeout: 1000,
})
.toBeFalsy();
await reload(page);
const errorsAfterReporting = await getPageErrors(page);
expect
.poll(() => errorsAfterReporting.length, {
timeout: 1000,
})
.toBe(0);
await expect
.poll(
async () => {
return (await getPageErrors(page)).find(
(e) => e.error.name === 'React Error'
);
},
{
timeout: 10000,
}
)
.toBeUndefined();
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,9 @@ export const reportErrorMachine = createMachine(
target: 'idle',
},
],
onError: {
target: 'idle',
},
},
},
reporting: {
Expand Down
6 changes: 6 additions & 0 deletions packages/app/src/systems/Error/utils/getErrorIgnoreData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,12 @@ const IGNORED_ERRORS: IgnoredError[] = [
{
value: 'React Error',
field: 'name',
comparison: 'exact',
action: 'hide',
},
{
value: 'React Error',
field: 'message',
comparison: 'partial',
action: 'hide',
},
Expand Down

0 comments on commit ecd8524

Please sign in to comment.