mirror of
https://github.com/10h30/odin-javascript-exercises.git
synced 2026-06-05 15:09:09 +09:00
35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
const { writeFile } = require("fs/promises");
|
|
const { join } = require("path");
|
|
const { splitDirectoryName } = require("./helpers");
|
|
|
|
async function writeExerciseSpec(exercisePath) {
|
|
const { exerciseName } = splitDirectoryName(exercisePath);
|
|
const isSolutionFile = exercisePath.includes("/solution");
|
|
const trueExerciseName = isSolutionFile
|
|
? `${exerciseName}-solution`
|
|
: exerciseName;
|
|
|
|
const exerciseSpecContent = `const ${exerciseName} = require('./${trueExerciseName}');
|
|
|
|
describe('${exerciseName}', () => {
|
|
test('First test description', () => {
|
|
// Replace this comment with any other necessary code, and update the expect line as necessary
|
|
|
|
expect(${exerciseName}()).toBe('');
|
|
});
|
|
|
|
test${isSolutionFile ? "" : ".skip"}('Second test description', () => {
|
|
// Replace this comment with any other necessary code, and update the expect line as necessary
|
|
|
|
expect(${exerciseName}()).toBe('');
|
|
});
|
|
});`;
|
|
|
|
await writeFile(
|
|
join(exercisePath, `${trueExerciseName}.spec.js`),
|
|
exerciseSpecContent
|
|
);
|
|
}
|
|
|
|
module.exports = { writeExerciseSpec };
|