0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-03-11 02:12:21 -05:00

Added Playwright test for member exports

ref https://github.com/TryGhost/Team/issues/2371

- Tests whether a CSV can be exported with all members
This commit is contained in:
Ronald Langeveld 2022-12-08 12:27:41 +07:00
parent 0ebb3cbefe
commit 7567997dbf

View file

@ -1,5 +1,5 @@
const {expect, test} = require('@playwright/test');
const e = require('express');
const {createMember} = require('../utils/e2e-browser-utils');
test.describe('Admin', () => {
test.describe('Members', () => {
@ -85,5 +85,43 @@ test.describe('Admin', () => {
// should have no members now, so we should see the empty state
expect(await page.locator('div h4:has-text("Start building your audience")')).not.toBeNull();
});
// load 3 members
const membersFixture = [
{
name: 'Test Member 1',
email: 'test@member1.com',
note: 'This is a test member',
label: 'Test Label'
},
{
name: 'Test Member 2',
email: 'test@member2.com',
note: 'This is a test member',
label: 'Test Label'
},
{
name: 'Test Member 3',
email: 'test@member3.com',
note: 'This is a test member',
label: 'Test Label'
}
];
test('All members can be exported', async ({page}) => {
for (let member of membersFixture) {
await createMember(page, member);
}
await page.locator('.gh-nav a[href="#/members/"]').click();
await page.waitForSelector('button[data-test-button="members-actions"]');
await page.locator('button[data-test-button="members-actions"]').click();
await page.waitForSelector('button[data-test-button="export-members"]');
const [download] = await Promise.all([
page.waitForEvent('download'),
page.locator('button[data-test-button="export-members"]').click()
]);
const filename = await download.suggestedFilename();
expect(filename).toContain('.csv');
});
});
});