Skip to content

Commit 8e00f66

Browse files
committed
02/06: add unit test, adjust test patterns
1 parent 2c922a2 commit 8e00f66

File tree

4 files changed

+22
-5
lines changed

4 files changed

+22
-5
lines changed

exercises/02.vitest-browser-mode/06.solution.multiple-workspaces/src/file-preview.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { useEffect, useState } from 'react'
2+
import { readFile } from './utils/read-file.js'
23

34
export function FilePreview({ file }: { file: File }) {
45
const [previewText, setPreviewText] = useState<string>()
56

67
useEffect(() => {
7-
file.text().then(setPreviewText)
8+
readFile(file).then(setPreviewText)
89
}, [file])
910

1011
return (
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { it, expect } from 'vitest'
2+
import { readFile } from './read-file.js'
3+
4+
it('returns contents of a text file', async () => {
5+
await expect(readFile(new File(['hello world'], 'file.txt'))).resolves.toBe(
6+
'hello world',
7+
)
8+
})
9+
10+
it('returns contents of a buffer file', async () => {
11+
await expect(
12+
readFile(new File([new TextEncoder().encode('hello world')], 'file.txt')),
13+
).resolves.toBe('hello world')
14+
})
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export async function readFile(file: File): Promise<string> {
2+
return file.text()
3+
}

exercises/02.vitest-browser-mode/06.solution.multiple-workspaces/vite.config.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,17 @@ export default defineConfig({
77
test: {
88
workspace: [
99
{
10-
extends: true,
1110
test: {
1211
name: 'unit',
13-
include: ['**/*.test.tsx?'],
12+
include: ['**/*.test.ts'],
13+
exclude: ['**/*.browser.test.ts(x)?'],
1414
environment: 'node',
1515
},
1616
},
1717
{
18-
extends: true,
1918
test: {
2019
name: 'browser',
21-
include: ['**/*.browser.test.tsx?'],
20+
include: ['**/*.browser.test.ts(x)?'],
2221
browser: {
2322
enabled: true,
2423
provider: 'playwright',

0 commit comments

Comments
 (0)