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
|
import processTemplate, { Template } from "./templates";
import path from "path";
import fs from "fs";
const genTemplate = (filename: string): Template =>
({
inputFile: path.join(__dirname, "..", "example_reports", filename),
outputFile: path.join(
__dirname,
"..",
"build",
filename.replace(/template/, "txt")
),
context: { that: "this", potential: "resolved" },
} as Template);
describe("processTemplate", () => {
beforeAll(() =>
fs.promises.mkdir(path.join(__dirname, "..", "build")).catch(() => null)
);
it("should process the template file with the given context", async () => {
// Arrange
const template = genTemplate("ex.tmpl");
// Act
const result = await processTemplate(template);
// Assert
expect(result.data).not.toBeNull();
expect(result.data).toEqual("But what is this other than resolved?");
expect(fs.existsSync(result.outputFile)).toEqual(true);
});
it("should process the blank file", async () => {
// Arrange
const template = genTemplate("blank.tmpl");
// Act
const result = await processTemplate(template);
// Assert
expect(result.data).not.toBeNull();
expect(result.data).toEqual("");
expect(fs.existsSync(result.outputFile)).toEqual(true);
});
});
|