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: 'collection1' })).toBeVisible();
|
||||||
await expect(page.getByRole('menuitem', { name: 'collection2' })).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) => {
|
mockPage: async ({ page }, use) => {
|
||||||
// 保证每个测试运行时 faker 的随机值都是一样的
|
// 保证每个测试运行时 faker 的随机值都是一样的
|
||||||
faker.seed(1);
|
faker.seed(1);
|
||||||
@ -184,6 +187,21 @@ export const test = base.extend<{ mockPage: (config?: PageConfig) => NocoPage }>
|
|||||||
await nocoPage.destroy();
|
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) => {
|
const getStorageItem = (key: string, storageState: any) => {
|
||||||
@ -357,7 +375,7 @@ const deleteKeyOfCollection = (collectionSettings: CollectionSetting[]) => {
|
|||||||
* @param collectionSettings
|
* @param collectionSettings
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export const createCollections = async (collectionSettings: CollectionSetting | CollectionSetting[]) => {
|
const createCollections = async (collectionSettings: CollectionSetting | CollectionSetting[]) => {
|
||||||
const api = await request.newContext({
|
const api = await request.newContext({
|
||||||
storageState: require.resolve('../../../../../playwright/.auth/admin.json'),
|
storageState: require.resolve('../../../../../playwright/.auth/admin.json'),
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user