You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ghost/e2e/tests/admin/analytics/overview.test.ts

58 lines
2.2 KiB

import {test, expect} from '../../../helpers/playwright';
import {
AnalyticsOverviewPage,
AnalyticsWebTrafficPage,
AnalyticsGrowthPage
} from '../../../helpers/pages/admin';
test.describe('Ghost Admin - Analytics Overview', () => {
test('latest post', async ({page}) => {
const analyticsOverviewPage = new AnalyticsOverviewPage(page);
await analyticsOverviewPage.goto();
const membersCount = await analyticsOverviewPage.latestPost.membersCount();
const visitorsCount = await analyticsOverviewPage.latestPost.visitorsCount();
await expect(analyticsOverviewPage.latestPost.post).toBeVisible();
expect(visitorsCount).toContain('0');
expect(membersCount).toContain('0');
});
test('top posts', async ({page}) => {
const analyticsOverviewPage = new AnalyticsOverviewPage(page);
await analyticsOverviewPage.goto();
await expect(analyticsOverviewPage.topPosts.post).toBeVisible();
const visitorsStatistics = await analyticsOverviewPage.topPosts.uniqueVisitorsStatistics();
const membersStatistics = await analyticsOverviewPage.topPosts.membersStatistics();
expect(visitorsStatistics).toContain('Unique visitors');
expect(visitorsStatistics).toContain('0');
expect(membersStatistics).toContain('New members');
expect(membersStatistics).toContain('Free');
expect(membersStatistics).toContain('0');
});
test('view more unique visitors details', async ({page}) => {
const analyticsOverviewPage = new AnalyticsOverviewPage(page);
await analyticsOverviewPage.goto();
await analyticsOverviewPage.viewMoreUniqueVisitorDetails();
const analyticsWebTrafficPage = new AnalyticsWebTrafficPage(page);
await expect(analyticsWebTrafficPage.totalUniqueVisitorsTab).toBeVisible();
});
test('view more members details', async ({page}) => {
const analyticsOverviewPage = new AnalyticsOverviewPage(page);
await analyticsOverviewPage.goto();
await analyticsOverviewPage.viewMoreMembersDetails();
const analyticsGrowthPage = new AnalyticsGrowthPage(page);
await expect(analyticsGrowthPage.totalMembersCard).toBeVisible();
});
});