2022-03-07 18:21:01 +01:00
|
|
|
import test, { expect } from '@playwright/test'
|
|
|
|
import { createTypebots, parseDefaultBlockWithStep } from '../services/database'
|
2022-03-18 12:30:42 +01:00
|
|
|
import cuid from 'cuid'
|
2022-03-07 18:21:01 +01:00
|
|
|
import { defaultSettings, defaultTextInputOptions, InputStepType } from 'models'
|
|
|
|
|
|
|
|
test('Result should be in storage by default', async ({ page }) => {
|
2022-03-18 12:30:42 +01:00
|
|
|
const typebotId = cuid()
|
2022-03-07 18:21:01 +01:00
|
|
|
await createTypebots([
|
|
|
|
{
|
|
|
|
id: typebotId,
|
|
|
|
...parseDefaultBlockWithStep({
|
|
|
|
type: InputStepType.TEXT,
|
|
|
|
options: defaultTextInputOptions,
|
|
|
|
}),
|
|
|
|
},
|
|
|
|
])
|
|
|
|
await page.goto(`/${typebotId}-public`)
|
|
|
|
await page.waitForResponse(
|
|
|
|
(resp) =>
|
|
|
|
resp.request().url().includes(`/api/typebots/${typebotId}/results`) &&
|
|
|
|
resp.status() === 200 &&
|
|
|
|
resp.request().method() === 'POST'
|
|
|
|
)
|
|
|
|
await page.reload()
|
|
|
|
const resultId = await page.evaluate(() => sessionStorage.getItem('resultId'))
|
|
|
|
expect(resultId).toBeDefined()
|
|
|
|
})
|
|
|
|
|
|
|
|
test.describe('Create result on page refresh enabled', () => {
|
|
|
|
test('should work', async ({ page }) => {
|
2022-03-18 12:30:42 +01:00
|
|
|
const typebotId = cuid()
|
2022-03-07 18:21:01 +01:00
|
|
|
await createTypebots([
|
|
|
|
{
|
|
|
|
id: typebotId,
|
|
|
|
settings: {
|
|
|
|
...defaultSettings,
|
|
|
|
general: {
|
|
|
|
...defaultSettings.general,
|
|
|
|
isNewResultOnRefreshEnabled: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
...parseDefaultBlockWithStep({
|
|
|
|
type: InputStepType.TEXT,
|
|
|
|
options: defaultTextInputOptions,
|
|
|
|
}),
|
|
|
|
},
|
|
|
|
])
|
|
|
|
await page.goto(`/${typebotId}-public`)
|
|
|
|
await page.waitForResponse(
|
|
|
|
(resp) =>
|
|
|
|
resp.request().url().includes(`/api/typebots/${typebotId}/results`) &&
|
|
|
|
resp.status() === 200 &&
|
|
|
|
resp.request().method() === 'POST'
|
|
|
|
)
|
|
|
|
await page.reload()
|
|
|
|
await page.waitForResponse(
|
|
|
|
(resp) =>
|
|
|
|
resp.request().url().includes(`/api/typebots/${typebotId}/results`) &&
|
|
|
|
resp.status() === 200 &&
|
|
|
|
resp.request().method() === 'POST'
|
|
|
|
)
|
|
|
|
const resultId = await page.evaluate(() =>
|
|
|
|
sessionStorage.getItem('resultId')
|
|
|
|
)
|
|
|
|
expect(resultId).toBe(null)
|
|
|
|
})
|
|
|
|
})
|