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

58 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" });
});
});