-
Notifications
You must be signed in to change notification settings - Fork 39
/
nuxt.test.ts
58 lines (48 loc) · 1.41 KB
/
nuxt.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import { it, describe, expect } from "vitest";
import { parseModule } from "magicast";
import { generate } from "../_utils";
import { addNuxtModule } from "magicast/helpers";
describe("helpers > nuxt", () => {
it("add module", async () => {
const code = `export default defineNuxtConfig({})`;
const mod = parseModule(code);
addNuxtModule(mod, "@vueuse/nuxt", "vueuse", { hello: "world" });
addNuxtModule(mod, "@unocss/nuxt", "unocss", { another: "config" });
expect(await generate(mod)).toMatchInlineSnapshot(`
"export default defineNuxtConfig({
modules: [\\"@vueuse/nuxt\\", \\"@unocss/nuxt\\"],
vueuse: {
hello: \\"world\\",
},
unocss: {
another: \\"config\\",
},
});"
`);
});
it("add module, keep format", () => {
const code = `export default defineNuxtConfig({
modules: [
'foo',
]
})`;
const mod = parseModule(code);
addNuxtModule(mod, "@vueuse/nuxt", "vueuse", { hello: "world" });
addNuxtModule(mod, "@unocss/nuxt", "unocss", { another: "config" });
expect(mod.generate().code).toMatchInlineSnapshot(`
"export default defineNuxtConfig({
modules: [
'foo',
'@vueuse/nuxt',
'@unocss/nuxt'
],
vueuse: {
hello: 'world'
},
unocss: {
another: 'config'
}
})"
`);
});
});