Skip to content

Commit ee6d99d

Browse files
committed
Fixed member e2e routes after suite reshuffle
ref https://linear.app/ghost/issue/BER-3506/rework-feature-flagging-for-release This finishes the members and members-legacy e2e split by moving stale React tests off members-forward and aligning detail navigation with the current members list UI.
1 parent bcdc536 commit ee6d99d

5 files changed

Lines changed: 19 additions & 11 deletions

File tree

e2e/helpers/pages/admin/members/members-list-page.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ export class MembersListPage extends AdminPage {
3939
return this.memberRows.filter({hasText: name});
4040
}
4141

42+
getMemberLinkByName(name: string): Locator {
43+
return this.getMemberByName(name).getByRole('link', {name, exact: true});
44+
}
45+
46+
async openMemberByName(name: string): Promise<void> {
47+
await this.getMemberLinkByName(name).click();
48+
}
49+
4250
async openActionsMenu(): Promise<void> {
4351
await this.actionsButton.click();
4452
}

e2e/tests/admin/members/list.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ test.describe('Ghost Admin - Members List', () => {
5757
const membersPage = new MembersListPage(page);
5858
await membersPage.goto();
5959

60-
await membersPage.getMemberByName('Detail Test Member').click();
60+
await membersPage.openMemberByName('Detail Test Member');
6161

6262
await expect(page).toHaveURL(new RegExp(`/members/${member.id}`));
6363
});

e2e/tests/admin/members/saved-views.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ async function addFilter(page: Page, filterName: 'Name' | 'Email' | 'Label', val
1515
const existingFilter = params.get('filter');
1616

1717
params.set('filter', existingFilter ? `${existingFilter}+${labelFilter}` : labelFilter);
18-
await page.goto(`/ghost/#/members-forward?${params.toString()}`);
18+
await page.goto(`/ghost/#/members?${params.toString()}`);
1919
return;
2020
}
2121

e2e/tests/admin/members/search-and-filter.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ test.describe('Ghost Admin - Members Search and Filter', () => {
4444
await membersPage.goto();
4545
await expect(membersPage.memberRows).toHaveCount(3);
4646

47-
await page.goto('/ghost/#/members-forward?filter=label:VIP');
47+
await page.goto('/ghost/#/members?filter=label:VIP');
4848
await expect(membersPage.memberRows).toHaveCount(2);
4949
await expect(membersPage.getMemberByName('Labelled One')).toBeVisible();
5050
await expect(membersPage.getMemberByName('Labelled Two')).toBeVisible();
@@ -65,7 +65,7 @@ test.describe('Ghost Admin - Members Search and Filter', () => {
6565
await membersPage.addFilter('Name', 'Alice');
6666
await expect(membersPage.memberRows).toHaveCount(2);
6767

68-
await page.goto('/ghost/#/members-forward?filter=name:~%27Alice%27%2Blabel:Premium');
68+
await page.goto('/ghost/#/members?filter=name:~%27Alice%27%2Blabel:Premium');
6969
await expect(membersPage.memberRows).toHaveCount(1);
7070
await expect(membersPage.getMemberByName('Alice Alpha')).toBeVisible();
7171

@@ -81,14 +81,14 @@ test.describe('Ghost Admin - Members Search and Filter', () => {
8181
{name: 'No Label', email: 'nolabel@example.com'}
8282
]);
8383

84-
const membersPage = new MembersForwardPage(page);
84+
const membersPage = new MembersListPage(page);
8585
await membersPage.goto();
8686
await expect(membersPage.memberRows).toHaveCount(4);
8787

88-
await page.goto('/ghost/#/members-forward?filter=label:VIP');
88+
await page.goto('/ghost/#/members?filter=label:VIP');
8989
await expect(membersPage.memberRows).toHaveCount(2);
9090

91-
await page.goto('/ghost/#/members-forward?filter=label:VIP%2Blabel:Premium');
91+
await page.goto('/ghost/#/members?filter=label:VIP%2Blabel:Premium');
9292
await expect(membersPage.memberRows).toHaveCount(1);
9393
await expect(membersPage.getMemberByName('Both Labels')).toBeVisible();
9494
});

e2e/tests/admin/members/virtual-window.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ test.describe('Ghost Admin - Members Virtual Window', () => {
7070

7171
await mockLargeMembersList(page, members);
7272

73-
const membersPage = new MembersPage(page, {route: 'members-forward'});
73+
const membersPage = new MembersPage(page, {route: 'members'});
7474
const memberDetailsPage = new MemberDetailsPage(page);
7575

7676
await membersPage.goto();
@@ -80,7 +80,7 @@ test.describe('Ghost Admin - Members Virtual Window', () => {
8080

8181
await expect.poll(async () => {
8282
const historyState = await page.evaluate(() => window.history.state);
83-
return historyState?.ghostVirtualListWindow?.['/members-forward::'];
83+
return historyState?.ghostVirtualListWindow?.['/members::'];
8484
}).toBe(2000);
8585

8686
const maxRenderedIndex = await membersPage.scrollUntilMaxRenderedIndexAtLeast(1000);
@@ -97,12 +97,12 @@ test.describe('Ghost Admin - Members Virtual Window', () => {
9797

9898
expect(targetRow.index).toBeGreaterThan(1000);
9999

100-
await targetRowLocator.click();
100+
await targetRowLocator.getByRole('link').click();
101101

102102
await expect(memberDetailsPage.nameInput).toBeVisible();
103103

104104
await page.goBack();
105-
await expect(page).toHaveURL(/\/ghost\/#\/members-forward$/);
105+
await expect(page).toHaveURL(/\/ghost\/#\/members$/);
106106
await expect(membersPage.getMemberListItemByIndex(targetRow.index)).toContainText(targetRow.text ?? '');
107107

108108
await expect.poll(async () => {

0 commit comments

Comments
 (0)