Skip to content

Commit f409f3e

Browse files
committed
test: add terminal ui tests
1 parent 5d9d2fb commit f409f3e

File tree

4 files changed

+53
-0
lines changed

4 files changed

+53
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
type: lesson
3+
title: Default
4+
terminal:
5+
panels: terminal
6+
---
7+
8+
# Terminal test - Default
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
type: chapter
3+
title: Terminal
4+
---
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
type: lesson
3+
title: Open by default
4+
terminal:
5+
open: true
6+
panels: "terminal"
7+
---
8+
9+
# Terminal test - Open by default

test/ui/test/terminal.test.ts

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { test, expect } from '@playwright/test';
2+
3+
const BASE_URL = '/tests/terminal';
4+
5+
test('user can open terminal', async ({ page }) => {
6+
await page.goto(`${BASE_URL}/default`);
7+
8+
await expect(page.getByRole('heading', { level: 1, name: 'Terminal test - Default' })).toBeVisible();
9+
10+
const tab = page.getByRole('tab', { name: 'Terminal' });
11+
const panel = page.getByRole('tabpanel', { name: 'Terminal' });
12+
13+
/* eslint-disable multiline-comment-style */
14+
// TODO: Requires #245
15+
// await expect(tab).not.toBeVisible();
16+
// await expect(panel).not.toBeVisible();
17+
18+
await page.getByRole('button', { name: 'Toggle Terminal' }).click();
19+
20+
await expect(tab).toBeVisible();
21+
await expect(panel).toBeVisible();
22+
await expect(panel).toContainText('~/tutorial', { useInnerText: true });
23+
});
24+
25+
test('user can see terminal open by default', async ({ page }) => {
26+
await page.goto(`${BASE_URL}/open-by-default`);
27+
28+
await expect(page.getByRole('heading', { level: 1, name: 'Terminal test - Open by default' })).toBeVisible();
29+
30+
await expect(page.getByRole('tab', { name: 'Terminal', selected: true })).toBeVisible();
31+
await expect(page.getByRole('tabpanel', { name: 'Terminal' })).toContainText('~/tutorial', { useInnerText: true });
32+
});

0 commit comments

Comments
 (0)