Skip to content

Commit 132da08

Browse files
committed
🐛(e2e) sync doc grid sorting check
The sorting check was not the same between what django provide and what the e2e test check, it was giving some flakiness. Django seems to ignore the punctuation (space) in its sorting. We improve other test to be more robust as well.
1 parent 164ed88 commit 132da08

File tree

5 files changed

+20
-8
lines changed

5 files changed

+20
-8
lines changed

src/frontend/apps/e2e/__tests__/app-impress/common.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,13 @@ export const goToGridDoc = async (
120120
const header = page.locator('header').first();
121121
await header.locator('h2').getByText('Docs').click();
122122

123-
const rows = page
123+
const datagrid = page
124124
.getByLabel('Datagrid of the documents page 1')
125-
.getByRole('table')
126-
.getByRole('row');
125+
.getByRole('table');
127126

127+
await expect(datagrid.getByLabel('Loading data')).toBeHidden();
128+
129+
const rows = datagrid.getByRole('row');
128130
const row = title
129131
? rows.filter({
130132
hasText: title,

src/frontend/apps/e2e/__tests__/app-impress/doc-create.spec.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ test.describe('Doc Create', () => {
6262
.getByLabel('Datagrid of the documents page 1')
6363
.getByRole('table');
6464

65+
await expect(datagrid.getByLabel('Loading data')).toBeHidden();
66+
6567
await expect(datagrid.getByText(docTitle)).toBeVisible();
6668

6769
const row = datagrid.getByRole('row').filter({

src/frontend/apps/e2e/__tests__/app-impress/doc-grid.spec.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,10 @@ test.describe('Documents Grid', () => {
125125
expect(
126126
textDocNameRow1Asc &&
127127
textDocNameRow2Asc &&
128-
textDocNameRow1Asc.toLocaleLowerCase() <=
129-
textDocNameRow2Asc.toLocaleLowerCase(),
128+
textDocNameRow1Asc.localeCompare(textDocNameRow2Asc, 'en', {
129+
caseFirst: 'false',
130+
ignorePunctuation: true,
131+
}) <= 0,
130132
).toBeTruthy();
131133

132134
// Ordering Desc
@@ -145,8 +147,10 @@ test.describe('Documents Grid', () => {
145147
expect(
146148
textDocNameRow1Desc &&
147149
textDocNameRow2Desc &&
148-
textDocNameRow1Desc.toLocaleLowerCase() >=
149-
textDocNameRow2Desc.toLocaleLowerCase(),
150+
textDocNameRow1Desc.localeCompare(textDocNameRow2Desc, 'en', {
151+
caseFirst: 'false',
152+
ignorePunctuation: true,
153+
}) >= 0,
150154
).toBeTruthy();
151155
});
152156
});

src/frontend/apps/e2e/__tests__/app-impress/doc-member-grid.spec.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ test.describe('Document grid members', () => {
9090

9191
await goToGridDoc(page);
9292

93+
await expect(page.locator('h2').getByText('Mocked document')).toBeVisible();
94+
9395
await page.getByLabel('Open the document options').click();
9496
await page.getByRole('button', { name: 'Manage members' }).click();
9597

src/frontend/apps/e2e/__tests__/app-impress/doc-tools.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,12 @@ test.describe('Doc Tools', () => {
123123
page.getByText('The document has been updated.'),
124124
).toBeVisible();
125125

126-
await goToGridDoc(page, {
126+
const docTitle = await goToGridDoc(page, {
127127
title: `${randomDoc}-updated`,
128128
});
129129

130+
await expect(page.locator('h2').getByText(docTitle)).toBeVisible();
131+
130132
await page.getByLabel('Open the document options').click();
131133
await page
132134
.getByRole('button', {

0 commit comments

Comments
 (0)