@rr0/cms
Version:
RR0 Content Management System (CMS)
34 lines (33 loc) • 1.79 kB
JavaScript
import { describe, expect, test } from "@javarome/testscript";
import { CaseDirectoryStep } from "./CaseDirectoryStep.js";
import { cmsTestUtil } from "../../../../../test/index.js";
import { CaseService } from "./CaseService.js";
import { TimeElementFactory } from "../../../../../time/html/TimeElementFactory.js";
import { AllDataService, RR0EventFactory, TypedDataFactory } from "@rr0/data";
describe("DirectoryStep", () => {
async function outputFunc(context, info, outDir = cmsTestUtil.outDir + "/") {
info.name = `${outDir}${info.name}`;
}
test("", async () => {
const template = `
<!--#include virtual="/header-start.html" -->
<title>Dossiers ufologiques</title>
<!--#include virtual="/header-end.html" -->
<p>Before</p>
<!--#echo var="directories" -->
<p>After</p>
<!--#include virtual="/footer.html" -->`;
const casesDirectoryPath = cmsTestUtil.filePath("science/crypto/ufo/enquete/dossier/index.html");
const context = cmsTestUtil.newContext(casesDirectoryPath, template);
const eventFactory = new RR0EventFactory();
const dataService = new AllDataService([new TypedDataFactory(eventFactory, "case")]);
const caseFiles = await cmsTestUtil.caseFactory.getFiles();
const timeRenderer = cmsTestUtil.time.timeRenderer;
const timeElementFactory = new TimeElementFactory(timeRenderer);
const caseService = new CaseService(dataService, cmsTestUtil.caseFactory, timeElementFactory, caseFiles);
const ufoCasesExclusions = [];
const step = new CaseDirectoryStep(caseService, caseService.files, ufoCasesExclusions, casesDirectoryPath, outputFunc, cmsTestUtil.config);
const stepResult = await step.execute(context);
expect(stepResult.directoryCount).toBe(3);
});
});