Introduce bot v2 in builder (#328)

Also, the new engine is the default for updated typebots for viewer

Closes #211
This commit is contained in:
Baptiste Arnaud
2023-02-21 15:25:14 +01:00
committed by GitHub
parent 527dc8a5b1
commit debdac12ff
208 changed files with 4462 additions and 5236 deletions

View File

@@ -36,7 +36,7 @@ test.describe('Chatwoot block', () => {
await page.getByLabel('Phone number').fill('+33654347543')
await page.getByRole('button', { name: 'Preview', exact: true }).click()
await expect(
page.getByText("Chatwoot won't open in preview mode").nth(0)
page.getByText('Chatwoot block is not supported in preview').nth(0)
).toBeVisible()
})
})

View File

@@ -1,6 +1,5 @@
import test, { expect, Page } from '@playwright/test'
import { importTypebotInDatabase } from 'utils/playwright/databaseActions'
import { typebotViewer } from 'utils/playwright/testHelpers'
import { createId } from '@paralleldrive/cuid2'
import { getTestAsset } from '@/test/utils/playwright'
@@ -33,25 +32,17 @@ test.describe.parallel('Google sheets integration', () => {
)
await page.click('text=Preview')
await typebotViewer(page)
await page
.locator('typebot-standard')
.locator('input[placeholder="Type your email..."]')
.fill('georges@gmail.com')
await Promise.all([
page.waitForResponse(
(resp) =>
resp
.request()
.url()
.includes(
'/api/integrations/google-sheets/spreadsheets/1k_pIDw3YHl9tlZusbBVSBRY0PeRPd2H6t4Nj7rwnOtM/sheets/0'
) &&
resp.status() === 200 &&
resp.request().method() === 'POST'
),
typebotViewer(page)
.locator('input[placeholder="Type your email..."]')
.press('Enter'),
])
await page
.locator('typebot-standard')
.locator('input[placeholder="Type your email..."]')
.press('Enter')
await expect(
page.getByText('Succesfully inserted row in CRM > Sheet1').nth(0)
).toBeVisible()
})
test('Update row should work', async ({ page }) => {
@@ -82,25 +73,17 @@ test.describe.parallel('Google sheets integration', () => {
)
await page.click('text=Preview')
await typebotViewer(page)
await page
.locator('typebot-standard')
.locator('input[placeholder="Type your email..."]')
.fill('test@test.com')
await Promise.all([
page.waitForResponse(
(resp) =>
resp
.request()
.url()
.includes(
'/api/integrations/google-sheets/spreadsheets/1k_pIDw3YHl9tlZusbBVSBRY0PeRPd2H6t4Nj7rwnOtM/sheets/0'
) &&
resp.status() === 200 &&
resp.request().method() === 'POST'
),
typebotViewer(page)
.locator('input[placeholder="Type your email..."]')
.press('Enter'),
])
await page
.locator('typebot-standard')
.locator('input[placeholder="Type your email..."]')
.press('Enter')
await expect(
page.getByText('Succesfully updated row in CRM > Sheet1').nth(0)
).toBeVisible()
})
test('Get row should work', async ({ page }) => {
@@ -143,15 +126,17 @@ test.describe.parallel('Google sheets integration', () => {
await createNewVar(page, 'Last name')
await page.click('text=Preview')
await typebotViewer(page)
await page
.locator('typebot-standard')
.locator('input[placeholder="Type your email..."]')
.fill('test2@test.com')
await typebotViewer(page)
await page
.locator('typebot-standard')
.locator('input[placeholder="Type your email..."]')
.press('Enter')
await expect(typebotViewer(page).locator('text=Your name is:')).toHaveText(
/John|Fred|Georges/
)
await expect(
page.locator('typebot-standard').locator('text=Your name is:')
).toHaveText(/John|Fred|Georges/)
})
})

View File

@@ -181,7 +181,7 @@ export const SendEmailSettings = ({ options, onOptionsChange }: Props) => {
</Flex>
{options.isBodyCode ? (
<CodeEditor
value={options.body ?? ''}
defaultValue={options.body ?? ''}
onChange={handleBodyChange}
lang="html"
/>

View File

@@ -1,6 +1,5 @@
import test, { expect } from '@playwright/test'
import { importTypebotInDatabase } from 'utils/playwright/databaseActions'
import { typebotViewer } from 'utils/playwright/testHelpers'
import { createId } from '@paralleldrive/cuid2'
import { getTestAsset } from '@/test/utils/playwright'
@@ -64,7 +63,7 @@ test.describe('Send email block', () => {
await page.fill('[data-testid="body-input"]', 'Here is my email')
await page.click('text=Preview')
await typebotViewer(page).locator('text=Go').click()
await page.locator('typebot-standard').locator('text=Go').click()
await expect(
page.locator('text=Emails are not sent in preview mode >> nth=0')
).toBeVisible()

View File

@@ -223,7 +223,7 @@ export const WebhookSettings = ({
/>
{(options.isCustomBody ?? true) && (
<CodeEditor
value={localWebhook.body ?? ''}
defaultValue={localWebhook.body ?? ''}
lang="json"
onChange={handleBodyChange}
debounceTimeout={0}
@@ -262,7 +262,7 @@ export const WebhookSettings = ({
</Button>
)}
{testResponse && (
<CodeEditor isReadOnly lang="json" value={testResponse} />
<CodeEditor isReadOnly lang="json" defaultValue={testResponse} />
)}
{(testResponse || options?.responseVariableMapping.length > 0) && (
<Accordion allowMultiple>