mirror of https://github.com/nocodb/nocodb
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.
79 lines
2.4 KiB
79 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.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, |
|
}); |
|
}); |
|
});
|
|
|