53 lines
2.2 KiB
TypeScript
53 lines
2.2 KiB
TypeScript
|
import {expect, test} from '@playwright/test';
|
||
|
import {mockApi, responseFixtures} from '@tryghost/admin-x-framework/test/acceptance';
|
||
|
|
||
|
test.describe('ListIndex', async () => {
|
||
|
test('Renders the list page', async ({page}) => {
|
||
|
const userId = 'index';
|
||
|
await mockApi({
|
||
|
page,
|
||
|
requests: {
|
||
|
useBrowseInboxForUser: {method: 'GET', path: `/inbox/${userId}`, response: responseFixtures.activitypubInbox},
|
||
|
useBrowseFollowingForUser: {method: 'GET', path: `/following/${userId}`, response: responseFixtures.activitypubFollowing}
|
||
|
},
|
||
|
options: {useActivityPub: true}
|
||
|
});
|
||
|
|
||
|
// Printing browser consol logs
|
||
|
page.on('console', (msg) => {
|
||
|
console.log(`Browser console log: ${msg.type()}: ${msg.text()}`); /* eslint-disable-line no-console */
|
||
|
});
|
||
|
|
||
|
await page.goto('/');
|
||
|
|
||
|
await expect(page.locator('body')).toContainText('ActivityPub Inbox');
|
||
|
|
||
|
// following list
|
||
|
const followingUser = await page.locator('[data-test-following] > li').textContent();
|
||
|
await expect(followingUser).toEqual('@index@main.ghost.org');
|
||
|
const followingCount = await page.locator('[data-test-following-count]').textContent();
|
||
|
await expect(followingCount).toEqual('1');
|
||
|
|
||
|
// following button
|
||
|
const followingList = await page.locator('[data-test-following-modal]');
|
||
|
await expect(followingList).toBeVisible();
|
||
|
|
||
|
// activities
|
||
|
const activity = await page.locator('[data-test-activity-heading]').textContent();
|
||
|
await expect(activity).toEqual('Testing ActivityPub');
|
||
|
|
||
|
// click on article
|
||
|
const articleBtn = await page.locator('[data-test-view-article]');
|
||
|
await articleBtn.click();
|
||
|
|
||
|
// article is expanded
|
||
|
const frameLocator = page.frameLocator('#gh-ap-article-iframe');
|
||
|
const textElement = await frameLocator.locator('[data-test-article-heading]').innerText();
|
||
|
expect(textElement).toContain('Testing ActivityPub');
|
||
|
|
||
|
// go back to list
|
||
|
const backBtn = await page.locator('[data-test-back-button]');
|
||
|
await backBtn.click();
|
||
|
});
|
||
|
});
|