kopia lustrzana https://github.com/cloudflare/wildebeest
update e2e tests after previous navigation tweaks
rodzic
5b935a11e6
commit
d6daa7bfb3
|
@ -20,7 +20,9 @@ export const StatusAccountCard = component$<{
|
|||
<div class="row-span-2">
|
||||
<Avatar primary={status.account} secondary={secondaryAvatar ?? null} />
|
||||
</div>
|
||||
<div class="ml-2 col-start-2 row-start-1">{getDisplayNameElement(status.account)}</div>
|
||||
<div data-testid="account-display-name" class="ml-2 col-start-2 row-start-1">
|
||||
{getDisplayNameElement(status.account)}
|
||||
</div>
|
||||
<div class="ml-2 text-wildebeest-400 col-start-2 row-start-2">
|
||||
@{subText === 'username' ? status.account.username : status.account.acct}
|
||||
</div>
|
||||
|
|
|
@ -1,41 +1,26 @@
|
|||
import { test, expect } from '@playwright/test'
|
||||
|
||||
const navigationsVia = ['name link', 'avatar'] as const
|
||||
test(`Navigation via to and view of an account (with 1 post)`, async ({ page }) => {
|
||||
await page.goto('http://127.0.0.1:8788/explore')
|
||||
await page.getByRole('article').getByRole('link').filter({ hasText: 'Ben, just Ben' }).first().click()
|
||||
await expect(page.getByTestId('account-info').getByRole('img', { name: 'Header of Ben, just Ben' })).toBeVisible()
|
||||
await expect(page.getByTestId('account-info').getByRole('img', { name: 'Avatar of Ben, just Ben' })).toBeVisible()
|
||||
await expect(page.getByTestId('account-info').getByRole('heading', { name: 'Ben, just Ben' })).toBeVisible()
|
||||
await expect(page.getByTestId('account-info').getByText('Joined')).toBeVisible()
|
||||
await expect(page.getByTestId('account-info').getByTestId('stats')).toHaveText('1Posts0Following0Followers')
|
||||
|
||||
navigationsVia.forEach((via) =>
|
||||
test(`Navigation via ${via} to and view of an account (with 1 post)`, async ({ page }) => {
|
||||
await page.goto('http://127.0.0.1:8788/explore')
|
||||
await page.getByRole('article').getByRole('link', { name: 'Ben, just Ben', exact: true }).click()
|
||||
await page.getByRole('link', { name: 'Ben, just Ben', exact: true }).click()
|
||||
await page.waitForLoadState('networkidle')
|
||||
const linkOption =
|
||||
via === 'name link' ? { name: 'Ben, just Ben', exact: true } : { name: 'Avatar of Ben, just Ben' }
|
||||
await page.getByRole('link', linkOption).click()
|
||||
await expect(page.getByTestId('account-info').getByRole('img', { name: 'Header of Ben, just Ben' })).toBeVisible()
|
||||
await expect(page.getByTestId('account-info').getByRole('img', { name: 'Avatar of Ben, just Ben' })).toBeVisible()
|
||||
await expect(page.getByTestId('account-info').getByRole('heading', { name: 'Ben, just Ben' })).toBeVisible()
|
||||
await expect(page.getByTestId('account-info').getByText('Joined')).toBeVisible()
|
||||
await expect(page.getByTestId('account-info').getByTestId('stats')).toHaveText('1Posts0Following0Followers')
|
||||
|
||||
expect(await page.getByTestId('account-statuses').getByRole('article').count()).toBe(1)
|
||||
await expect(
|
||||
page.getByTestId('account-statuses').getByRole('article').getByRole('img', { name: 'Avatar of Ben, just Ben' })
|
||||
).toBeVisible()
|
||||
await expect(page.getByTestId('account-statuses').getByRole('article')).toContainText(
|
||||
'A very simple update: all good!'
|
||||
)
|
||||
})
|
||||
)
|
||||
expect(await page.getByTestId('account-statuses').getByRole('article').count()).toBe(1)
|
||||
await expect(
|
||||
page.getByTestId('account-statuses').getByRole('article').getByRole('img', { name: 'Avatar of Ben, just Ben' })
|
||||
).toBeVisible()
|
||||
await expect(page.getByTestId('account-statuses').getByRole('article')).toContainText(
|
||||
'A very simple update: all good!'
|
||||
)
|
||||
})
|
||||
|
||||
test('Navigation to and view of an account (with 2 posts)', async ({ page }) => {
|
||||
await page.goto('http://127.0.0.1:8788/explore')
|
||||
await page
|
||||
.locator('article')
|
||||
.filter({ hasText: "I'm Rafael and I am a web designer" })
|
||||
.locator('i.fa-globe + span')
|
||||
.click()
|
||||
await page.waitForLoadState('networkidle')
|
||||
await page.getByRole('link', { name: 'Raffa123$', exact: true }).click()
|
||||
await page.getByRole('article').getByRole('link').filter({ hasText: 'Raffa123$' }).first().click()
|
||||
|
||||
await expect(page.getByTestId('account-info').getByRole('img', { name: 'Header of Raffa123$' })).toBeVisible()
|
||||
await expect(page.getByTestId('account-info').getByRole('img', { name: 'Avatar of Raffa123$' })).toBeVisible()
|
||||
|
|
|
@ -40,7 +40,11 @@ test('View of custom emojis in an toots author display name', async ({ page, bro
|
|||
.locator('i.fa-globe + span')
|
||||
.click()
|
||||
|
||||
const customEmojiLocator = page.getByRole('link', { name: 'George :verified: 👍', exact: true }).getByRole('img')
|
||||
const customEmojiLocator = page
|
||||
.getByRole('link')
|
||||
.filter({ hasText: 'George' })
|
||||
.getByTestId('account-display-name')
|
||||
.getByRole('img')
|
||||
await expect(customEmojiLocator).toBeVisible()
|
||||
await expect(customEmojiLocator).toHaveAttribute(
|
||||
'src',
|
||||
|
|
|
@ -26,9 +26,7 @@ test.describe('Infinite (statuses) scrolling', () => {
|
|||
description: 'in account page',
|
||||
goToPageFn: async (page: Page) => {
|
||||
await page.goto('http://127.0.0.1:8788/explore')
|
||||
await page.locator('article').filter({ hasText: "I'm Rafael" }).locator('i.fa-globe + span').click()
|
||||
await page.waitForLoadState('networkidle')
|
||||
await page.getByRole('link', { name: 'Raffa123$', exact: true }).click()
|
||||
await page.getByRole('article').getByRole('link').filter({ hasText: 'Raffa123$' }).first().click()
|
||||
await expect(page.getByTestId('account-info').getByRole('img', { name: 'Header of Raffa123$' })).toBeVisible()
|
||||
},
|
||||
fetchUrl: 'http://127.0.0.1:8788/api/v1/accounts/Rafael/statuses?*',
|
||||
|
|
|
@ -1,13 +1,21 @@
|
|||
import { test, expect } from '@playwright/test'
|
||||
|
||||
test('Navigation to and view of an individual toot', async ({ page }) => {
|
||||
await page.goto('http://127.0.0.1:8788/explore')
|
||||
await page.locator('article').filter({ hasText: 'Ben, just Ben' }).locator('i.fa-globe + span').click()
|
||||
await expect(page.getByRole('button', { name: 'Back' })).toBeVisible()
|
||||
await expect(page.getByRole('link', { name: 'Avatar of Ben, just Ben' })).toBeVisible()
|
||||
await expect(page.getByRole('link', { name: 'Ben, just Ben', exact: true })).toBeVisible()
|
||||
await expect(page.locator('span', { hasText: 'A very simple update: all good!' })).toBeVisible()
|
||||
})
|
||||
const navigationVias = ['time link', 'toot content'] as const
|
||||
|
||||
navigationVias.forEach((via) =>
|
||||
test(`Navigation to and view of an individual toot via ${via}`, async ({ page }) => {
|
||||
await page.goto('http://127.0.0.1:8788/explore')
|
||||
if (via === 'time link') {
|
||||
await page.locator('article').filter({ hasText: 'Ben, just Ben' }).locator('i.fa-globe + span').click()
|
||||
} else {
|
||||
await page.getByText('A very simple update: all good!').click()
|
||||
}
|
||||
await expect(page.getByRole('button', { name: 'Back' })).toBeVisible()
|
||||
await expect(page.getByRole('link', { name: 'Avatar of Ben, just Ben' })).toBeVisible()
|
||||
await expect(page.getByTestId('account-display-name').filter({ hasText: 'Ben, just Ben' })).toBeVisible()
|
||||
await expect(page.locator('span', { hasText: 'A very simple update: all good!' })).toBeVisible()
|
||||
})
|
||||
)
|
||||
|
||||
test('Navigation to and view of an individual toot with images', async ({ page }) => {
|
||||
await page.goto('http://127.0.0.1:8788/explore')
|
||||
|
@ -18,7 +26,7 @@ test('Navigation to and view of an individual toot with images', async ({ page }
|
|||
.click()
|
||||
await expect(page.getByRole('button', { name: 'Back' })).toBeVisible()
|
||||
await expect(page.getByRole('link', { name: 'Avatar of Raffa123$' })).toBeVisible()
|
||||
await expect(page.getByRole('link', { name: 'Raffa123$', exact: true })).toBeVisible()
|
||||
await expect(page.getByTestId('account-display-name').filter({ hasText: 'Raffa123$' })).toBeVisible()
|
||||
await expect(page.locator('p', { hasText: "I'm Rafael and I am a web designer!" })).toBeVisible()
|
||||
expect(await page.getByTestId('media-gallery').getByRole('img').count()).toBe(4)
|
||||
await expect(page.getByTestId('images-modal')).not.toBeVisible()
|
||||
|
@ -57,7 +65,7 @@ test("Navigation to and view of a toot's replies", async ({ page }) => {
|
|||
.click()
|
||||
|
||||
await expect(page.getByRole('link', { name: 'Avatar of Zak Smith' })).toBeVisible()
|
||||
await expect(page.getByRole('link', { name: 'Zak Smith', exact: true })).toBeVisible()
|
||||
await expect(page.getByTestId('account-display-name').filter({ hasText: 'Zak Smith' })).toBeVisible()
|
||||
await expect(page.getByText('Yes we did!')).toBeVisible()
|
||||
|
||||
await page.getByRole('button', { name: 'Back' }).click()
|
||||
|
@ -72,6 +80,6 @@ test("Navigation to and view of a toot's replies", async ({ page }) => {
|
|||
.click()
|
||||
|
||||
await expect(page.getByRole('link', { name: 'Avatar of Penny' })).toBeVisible()
|
||||
await expect(page.getByRole('link', { name: 'Penny', exact: true })).toBeVisible()
|
||||
await expect(page.getByTestId('account-display-name').filter({ hasText: 'Penny' })).toBeVisible()
|
||||
await expect(page.getByText('Yes you guys did it!')).toBeVisible()
|
||||
})
|
||||
|
|
Ładowanie…
Reference in New Issue