多维表格
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.

50 lines
2.0 KiB

import { test } from '@playwright/test';
import { DashboardPage } from '../pages/Dashboard';
import setup from '../setup';
test.describe('Super user', () => {
let dashboard: DashboardPage;
let context: any;
test.beforeEach(async ({ page }) => {
context = await setup({ page });
dashboard = new DashboardPage(page, context.project);
});
test('AppStore access', async () => {
await dashboard.closeTab({ title: 'Team & Auth' });
await dashboard.rootPage.goto('/#/apps');
await dashboard.rootPage.waitForLoadState('load');
const appPage = await dashboard.rootPage;
// Access slack card
const card = await appPage.locator('.nc-app-store-card-Slack');
await card.click();
await card.locator('.nc-app-store-card-install').click();
// Configure slack
let slackModal = await appPage.locator('.nc-modal-plugin-install');
await slackModal.locator('[placeholder="Channel Name"]').fill('Test Channel');
await slackModal.locator('[placeholder="Webhook URL"]').fill('http://test.com');
await slackModal.locator('button:has-text("Save")').click();
await dashboard.verifyToast({ message: 'Successfully installed' });
// Modify configuration
await card.click();
await card.locator('.nc-app-store-card-edit').click();
slackModal = await appPage.locator('.nc-modal-plugin-install');
await slackModal.locator('[placeholder="Channel Name"]').fill('Test Channel 2');
await slackModal.locator('[placeholder="Webhook URL"]').fill('http://test2.com');
await slackModal.locator('button:has-text("Save")').click();
await dashboard.verifyToast({ message: 'Successfully installed' });
// Uninstall
await card.click();
await card.locator('.nc-app-store-card-reset').click();
slackModal = await appPage.locator('.nc-modal-plugin-uninstall');
await slackModal.locator('button:has-text("Confirm")').click();
await dashboard.verifyToast({ message: 'Plugin uninstalled successfully' });
});
});