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

Added playwright test for creating a new member in admin

ref https://www.notion.so/ghost/Critical-Paths-980dd089c3e74a6fbc619271f5a9ce42

- this test will add a new member via the admin.
- it also tests to ensure the added member is displayed after heading back to the members list page.
This commit is contained in:
Ronald Langeveld 2022-12-07 12:35:16 +07:00
parent d64d8c0ddd
commit d60c50751b

View file

@ -0,0 +1,29 @@
const {expect, test} = require('@playwright/test');
const e = require('express');
test.describe('Admin', () => {
test.describe('Members', () => {
test('A member can be created', async ({page}) => {
await page.goto('/ghost');
await page.locator('.gh-nav a[href="#/members/"]').click();
await page.waitForSelector('a[href="#/members/new/"] span');
await page.locator('a[href="#/members/new/"] span:has-text("New member")').click();
await page.waitForSelector('input[name="name"]');
let name = 'Test Member';
let email = 'tester@testmember.com';
let note = 'This is a test member';
await page.fill('input[name="name"]', name);
await page.fill('input[name="email"]', email);
await page.fill('textarea[name="note"]', note);
await page.locator('button span:has-text("Save")').click();
await page.waitForSelector('button span:has-text("Saved")');
await page.locator('.gh-nav a[href="#/members/"]').click();
const count = await page.locator('tbody > tr').count();
expect(count).toBe(1);
const member = page.locator('tbody > tr > a > div > div > h3').nth(0);
await expect(member).toHaveText(name);
const memberEmail = page.locator('tbody > tr > a > div > div > p').nth(0);
await expect(memberEmail).toHaveText(email);
});
});
});