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

80 lines
2.4 KiB

import { test } from "@playwright/test";
import { DashboardPage } from "../pages/Dashboard";
import { SurveyFormPage } from "../pages/Dashboard/SurveyForm";
import setup from "../setup";
test.describe("Share form", () => {
let dashboard: DashboardPage;
let surveyForm: SurveyFormPage;
let context: any;
test.beforeEach(async ({ page }) => {
context = await setup({ page });
dashboard = new DashboardPage(page, context.project);
});
test("Survey", async () => {
// close 'Team & Auth' tab
await dashboard.closeTab({ title: "Team & Auth" });
await dashboard.treeView.openTable({ title: "Country" });
await dashboard.viewSidebar.createFormView({
title: "Country Form",
});
await dashboard.form.configureHeader({
title: "Country Title",
subtitle: "Country Form Subtitle",
});
await dashboard.form.configureSubmitMessage({
message: "Thank you for submitting the form",
});
await dashboard.form.showAnotherFormRadioButton.click();
await dashboard.form.showAnotherFormAfter5SecRadioButton.click();
await dashboard.toolbar.clickShareView();
await dashboard.toolbar.shareView.toggleSurveyMode();
const surveyLink = await dashboard.toolbar.shareView.getShareLink();
await dashboard.rootPage.waitForTimeout(2000);
await dashboard.rootPage.goto(surveyLink);
await dashboard.rootPage.waitForTimeout(2000);
surveyForm = new SurveyFormPage(dashboard.rootPage);
await surveyForm.validate({
heading: "Country Title",
subHeading: "Country Form Subtitle",
fieldLabel: "Country *",
footer: "1 / 3",
});
await surveyForm.fill({
fieldLabel: "Country",
value: "New Country",
type: "SingleLineText",
});
await surveyForm.validate({
heading: "Country Title",
subHeading: "Country Form Subtitle",
fieldLabel: "LastUpdate",
footer: "2 / 3",
});
await surveyForm.fill({
fieldLabel: "LastUpdate",
type: "DateTime",
});
await surveyForm.validate({
heading: "Country Title",
subHeading: "Country Form Subtitle",
fieldLabel: "City List",
footer: "3 / 3",
});
await surveyForm.submitButton.click();
// validate post submit data
await surveyForm.validateSuccessMessage({
message: "Thank you for submitting the form",
showAnotherForm: true,
});
});
});