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