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.form.toolbar.clickShareView(); await dashboard.form.toolbar.shareView.toggleSurveyMode(); const surveyLink = await dashboard.form.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, }); }); });