UNPKG

1.19 kBPlain TextView Raw
1import tap from 'tap'
2import fs from 'fs-extra'
3import path from 'path'
4
5import { createConfig } from '../lib/config'
6import { build } from '../lib/build'
7import { Env } from '../lib/constants'
8
9tap.test('build - static files', async (t) => {
10 t.testdir({
11 'static.js': `
12 export const getStaticPaths = () => ([ 'foo' ])
13 export const handler = () => 'page'
14 `,
15 })
16
17 const filepath = path.join(t.testdirName, 'static.js')
18 const config = await createConfig({
19 cli: { files: filepath, output: t.testdirName },
20 })
21
22 await build(config)
23
24 const contents = fs.readFileSync(path.join(config.staticOutputDir, 'foo/index.html'), 'utf8')
25
26 t.equal(contents, 'page')
27})
28
29tap.test('build - dynamic files', async (t) => {
30 t.testdir({
31 'dynamic.js': `
32 export const route = '*'
33 export const handler = () => 'page'
34 `,
35 })
36
37 const config = await createConfig({
38 cli: {
39 files: path.join(t.testdirName, 'dynamic.js'),
40 output: t.testdirName,
41 },
42 })
43
44 let called = false
45
46 const { build } = t.mock('../lib/build', {
47 esbuild: {
48 build() {
49 called = true
50 },
51 },
52 })
53
54 await build(config)
55
56 t.ok(called)
57})