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(); +});