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.
66 lines
2.1 KiB
66 lines
2.1 KiB
import LocationsTab from './pages/LocationsTab.ts';
|
|
import {addAnalyticsEvent, statsConfig} from '../utils/tinybird-helpers.ts';
|
|
import {expect, test} from '@playwright/test';
|
|
import {faker} from '@faker-js/faker';
|
|
import {
|
|
globalDataRequests,
|
|
mockApi,
|
|
responseFixtures
|
|
} from '@tryghost/admin-x-framework/test/acceptance';
|
|
|
|
test.describe('Stats App - Locations', () => {
|
|
test('loads locations tab with correct country details', async ({page}) => {
|
|
const siteUuid = faker.string.uuid();
|
|
|
|
await mockApi({
|
|
page, requests: {
|
|
...globalDataRequests,
|
|
browseConfig: {
|
|
method: 'GET', path: '/config/', response: {
|
|
config: {
|
|
...responseFixtures.config.config,
|
|
stats: {
|
|
...statsConfig,
|
|
id: siteUuid
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
await addAnalyticsEvent({siteUuid: siteUuid, locale: 'en-GB', location: 'GB'});
|
|
|
|
const locationsPage = new LocationsTab(page);
|
|
await locationsPage.visit();
|
|
|
|
await expect(locationsPage.body).toContainText('United Kingdom');
|
|
});
|
|
|
|
test('loads locations tab with info that there are no stats', async ({page}) => {
|
|
const siteUuid = faker.string.uuid();
|
|
|
|
await mockApi({
|
|
page, requests: {
|
|
...globalDataRequests,
|
|
browseConfig: {
|
|
method: 'GET', path: '/config/', response: {
|
|
config: {
|
|
...responseFixtures.config.config,
|
|
stats: {
|
|
...statsConfig,
|
|
id: siteUuid
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
const locationsPage = new LocationsTab(page);
|
|
await locationsPage.visit();
|
|
|
|
await expect(locationsPage.body).toContainText('No stats available');
|
|
});
|
|
});
|