Skip to content

Commit 6f80d5c

Browse files
test(init): add typescript test suits for svelte, vue and react
1 parent f0fd8bf commit 6f80d5c

1 file changed

Lines changed: 30 additions & 23 deletions

File tree

test/create-webpack-app/init/init.test.js

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,31 @@ const svelteTemplateFiles = [
4040
"src/store/index.js",
4141
];
4242

43+
const reactTypescriptTemplateFiles = [
44+
...defaultTemplateFiles.slice(0, 3),
45+
"src/index.tsx",
46+
...defaultTemplateFiles.slice(4).filter((file) => file !== "webpack.config.js"),
47+
"webpack.config.ts",
48+
"tsconfig.json",
49+
];
50+
51+
const vueTypescriptTemplateFiles = [
52+
...defaultTemplateFiles.slice(0, 3),
53+
"src/main.ts",
54+
...defaultTemplateFiles.slice(4).filter((file) => file !== "webpack.config.js"),
55+
"webpack.config.ts",
56+
"tsconfig.json",
57+
];
58+
59+
const svelteTypescriptTemplateFiles = [
60+
...defaultTemplateFiles.slice(0, 3),
61+
"src/main.ts",
62+
...defaultTemplateFiles.slice(4).filter((file) => file !== "webpack.config.js"),
63+
"webpack.config.ts",
64+
"tsconfig.json",
65+
"src/store/index.ts",
66+
];
67+
4368
// helper function to resolve the path from the test directory to actual assets
4469
// Helper to read from package.json in a given path
4570
const readFromPkgJSON = (path) => {
@@ -518,13 +543,7 @@ describe("create-webpack-app cli", () => {
518543
expect(stdout).toContain("Project has been initialised with webpack!");
519544
expect(stdout).toContain("webpack.config.ts");
520545

521-
const files = [
522-
...reactTemplateFiles.filter((file) => file !== "webpack.config.js"),
523-
"webpack.config.ts",
524-
"tsconfig.json",
525-
];
526-
527-
for (const file of files) {
546+
for (const file of reactTypescriptTemplateFiles) {
528547
expect(existsSync(resolve(dir, file))).toBeTruthy();
529548
}
530549

@@ -560,19 +579,13 @@ describe("create-webpack-app cli", () => {
560579
const { stdout } = await runPromptWithAnswers(
561580
dir,
562581
["init", ".", "--template=vue"],
563-
[`${DOWN}${ENTER}`, `y${ENTER}`, `y${ENTER}`, ENTER, `y${ENTER}`, ENTER, ENTER, ENTER],
582+
[`${DOWN}${ENTER}`, `y${ENTER}`, `y${ENTER}`, `${ENTER}`, `y${ENTER}`, ENTER, ENTER],
564583
);
565584

566585
expect(stdout).toContain("Project has been initialised with webpack!");
567586
expect(stdout).toContain("webpack.config.ts");
568587

569-
const files = [
570-
...vueTemplateFiles.filter((file) => file !== "webpack.config.js"),
571-
"webpack.config.ts",
572-
"tsconfig.json",
573-
];
574-
575-
for (const file of files) {
588+
for (const file of vueTypescriptTemplateFiles) {
576589
expect(existsSync(resolve(dir, file))).toBeTruthy();
577590
}
578591

@@ -606,19 +619,13 @@ describe("create-webpack-app cli", () => {
606619
const { stdout } = await runPromptWithAnswers(
607620
dir,
608621
["init", ".", "--template=svelte"],
609-
[`${DOWN}${ENTER}`, `y${ENTER}`, `y${ENTER}`, ENTER, `y${ENTER}`, ENTER, ENTER, ENTER],
622+
[`${DOWN}${ENTER}`, `y${ENTER}`, ENTER, `y${ENTER}`, ENTER, ENTER],
610623
);
611624

612625
expect(stdout).toContain("Project has been initialised with webpack!");
613626
expect(stdout).toContain("webpack.config.ts");
614627

615-
const files = [
616-
...svelteTemplateFiles.filter((file) => file !== "webpack.config.js"),
617-
"webpack.config.ts",
618-
"tsconfig.json",
619-
];
620-
621-
for (const file of files) {
628+
for (const file of svelteTypescriptTemplateFiles) {
622629
expect(existsSync(resolve(dir, file))).toBeTruthy();
623630
}
624631

0 commit comments

Comments
 (0)