refactor(e2e): shuold use test.extend to extend createCollections (T-2157)
This commit is contained in:
parent
f85fb6d7ba
commit
9ee18ca2aa
@ -253,4 +253,12 @@ test.describe('createCollections', () => {
|
||||
await expect(page.getByRole('menuitem', { name: 'collection1' })).toBeVisible();
|
||||
await expect(page.getByRole('menuitem', { name: 'collection2' })).toBeVisible();
|
||||
});
|
||||
|
||||
test('no page, just only create collections', async ({ page, createCollections }) => {
|
||||
await createCollections(pageConfig.collections);
|
||||
await page.goto('/admin/settings/collection-manager/collections');
|
||||
|
||||
await expect(page.getByText('collection1')).toBeVisible();
|
||||
await expect(page.getByText('collection2')).toBeVisible();
|
||||
});
|
||||
});
|
||||
|
@ -165,7 +165,10 @@ class NocoPage {
|
||||
}
|
||||
}
|
||||
|
||||
export const test = base.extend<{ mockPage: (config?: PageConfig) => NocoPage }>({
|
||||
export const test = base.extend<{
|
||||
mockPage: (config?: PageConfig) => NocoPage;
|
||||
createCollections: (collectionSettings: CollectionSetting | CollectionSetting[]) => Promise<void>;
|
||||
}>({
|
||||
mockPage: async ({ page }, use) => {
|
||||
// 保证每个测试运行时 faker 的随机值都是一样的
|
||||
faker.seed(1);
|
||||
@ -184,6 +187,21 @@ export const test = base.extend<{ mockPage: (config?: PageConfig) => NocoPage }>
|
||||
await nocoPage.destroy();
|
||||
}
|
||||
},
|
||||
createCollections: async ({ page }, use) => {
|
||||
let collectionsName = [];
|
||||
|
||||
const _createCollections = async (collectionSettings: CollectionSetting | CollectionSetting[]) => {
|
||||
collectionSettings = Array.isArray(collectionSettings) ? collectionSettings : [collectionSettings];
|
||||
collectionsName = collectionSettings.map((item) => item.name);
|
||||
await createCollections(collectionSettings);
|
||||
};
|
||||
|
||||
await use(_createCollections);
|
||||
|
||||
if (collectionsName.length) {
|
||||
await deleteCollections(collectionsName);
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
const getStorageItem = (key: string, storageState: any) => {
|
||||
@ -357,7 +375,7 @@ const deleteKeyOfCollection = (collectionSettings: CollectionSetting[]) => {
|
||||
* @param collectionSettings
|
||||
* @returns
|
||||
*/
|
||||
export const createCollections = async (collectionSettings: CollectionSetting | CollectionSetting[]) => {
|
||||
const createCollections = async (collectionSettings: CollectionSetting | CollectionSetting[]) => {
|
||||
const api = await request.newContext({
|
||||
storageState: require.resolve('../../../../../playwright/.auth/admin.json'),
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user