UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

37 lines (36 loc) 1.85 kB
import { describe, expect, test } from "@javarome/testscript"; import { TimeDirectoryStep } from "./TimeDirectoryStep.js"; import { cmsTestUtil } from "../test/index.js"; import { getTimeFiles } from "../CMSGenerator.test.js"; import path from "path"; import { TimeService } from "./TimeService.js"; import { AllDataService, RR0EventFactory } from "@rr0/data"; import { TimeElementFactory } from "./html/index.js"; describe("TimeDirectoryStep", () => { async function outputFunc(context, info, outDir = cmsTestUtil.outDir + "/") { info.name = `${outDir}${info.name}`; } test("directory", async () => { const template = ` <!--#include virtual="/header-start.html" --> <title>16ème siècle</title> <!--#include virtual="/header-end.html" --> <p>Before</p> <!--#echo var="directories" --> <p>Le XVIIIᵉ siècle est celui des "Lumières".</p> <!--#include virtual="/footer.html" --> `; const timeRoot = cmsTestUtil.time.timeOptions.rootDir; const timeOptions = { rootDir: timeRoot, files: await getTimeFiles() }; const dataService = new AllDataService([new RR0EventFactory()]); const timeService = new TimeService(dataService, timeOptions); const timesDirectoryPath = cmsTestUtil.filePath("time/0/0/6/5/index.html"); const context = cmsTestUtil.newContext(timesDirectoryPath, template); const ufoTimesExclusions = []; const timeDirs = timeService.files.map(timePath => path.dirname(timePath)); const timeElementFactory = new TimeElementFactory(cmsTestUtil.time.timeRenderer); const step = new TimeDirectoryStep(timeService, timeElementFactory, timeDirs, ufoTimesExclusions, timesDirectoryPath, outputFunc, cmsTestUtil.config); const stepResult = await step.execute(context); expect(stepResult.directoryCount).toBe(23); }); });