From a155238680c55f1b070414d271f9da6ea289da3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Mon, 14 Oct 2024 08:55:42 +0300 Subject: [PATCH] test: failing test for #300 --- .../tutorial/tests/terminal/disabled/content.md | 11 +++++++++++ e2e/test/terminal.test.ts | 12 ++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 e2e/src/content/tutorial/tests/terminal/disabled/content.md diff --git a/e2e/src/content/tutorial/tests/terminal/disabled/content.md b/e2e/src/content/tutorial/tests/terminal/disabled/content.md new file mode 100644 index 000000000..c0b1f48a1 --- /dev/null +++ b/e2e/src/content/tutorial/tests/terminal/disabled/content.md @@ -0,0 +1,11 @@ +--- +type: lesson +title: Disabled +terminal: false +mainCommand: 'node ./index.mjs' +previews: + - title: Example + port: 8000 +--- + +# Terminal test - Disabled diff --git a/e2e/test/terminal.test.ts b/e2e/test/terminal.test.ts index 375048592..7e6b6761f 100644 --- a/e2e/test/terminal.test.ts +++ b/e2e/test/terminal.test.ts @@ -34,3 +34,15 @@ test('user can see terminal open by default', async ({ page }) => { await expect(page.getByRole('tab', { name: 'Terminal', selected: true })).toBeVisible(); await expect(page.getByRole('tabpanel', { name: 'Terminal' })).toContainText('~/tutorial', { useInnerText: true }); }); + +test('user should not see "Toggle terminal" button when terminal is disabled', async ({ page }) => { + await page.goto(`${BASE_URL}/disabled`); + + await expect(page.getByRole('heading', { level: 1, name: 'Terminal test - Disabled' })).toBeVisible(); + + // wait for webcontainer to boot by checking preview + const preview = page.frameLocator('[title="Example"]'); + await expect(preview.getByText('Index page')).toBeVisible(); + + await expect(page.getByRole('button', { name: 'Toggle Terminal' })).not.toBeVisible(); +});