Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
quarto-dev
GitHub Repository: quarto-dev/quarto-cli
Path: blob/main/tests/smoke/website/drafts.test.ts
12921 views
1
/*
2
* drafts.test.ts
3
*
4
* Copyright (C) 2020-2022 Posit Software, PBC
5
*
6
*/
7
import { docs } from "../../utils.ts";
8
9
import { join } from "../../../src/deno_ral/path.ts";
10
import { existsSync } from "../../../src/deno_ral/fs.ts";
11
import { testQuartoCmd } from "../../test.ts";
12
import { noErrorsOrWarnings } from "../../verify.ts";
13
import { hasContentLinksToDrafts,hasEnvelopeLinksToDrafts,draftPostHasContent,doesntHaveContentLinksToDrafts,doesntHaveEnvelopeLinksToDrafts,draftPostIsEmpty, searchDoesntHaveDraft, searchHasDraft, siteMapDoesntHaveDraft, siteMapHasDraft } from "./draft-utils.ts";
14
15
// The test cases for default
16
const testCases = [
17
{
18
name: "No Drafts",
19
verify: [hasContentLinksToDrafts, hasEnvelopeLinksToDrafts, draftPostHasContent, searchHasDraft, siteMapHasDraft],
20
dir: docs("websites/drafts/no-drafts")
21
},
22
{
23
name: "Default Draft",
24
verify: [doesntHaveContentLinksToDrafts, doesntHaveEnvelopeLinksToDrafts, draftPostIsEmpty, searchDoesntHaveDraft, siteMapDoesntHaveDraft],
25
dir: docs("websites/drafts/drafts-default")
26
},
27
{
28
name: "Visible Draft",
29
verify: [hasContentLinksToDrafts, hasEnvelopeLinksToDrafts, draftPostHasContent, searchHasDraft, siteMapHasDraft],
30
dir: docs("websites/drafts/drafts-visible")
31
},
32
{
33
name: "Gone Draft",
34
verify: [doesntHaveContentLinksToDrafts, doesntHaveEnvelopeLinksToDrafts, draftPostIsEmpty, searchDoesntHaveDraft, siteMapDoesntHaveDraft],
35
dir: docs("websites/drafts/drafts-gone")
36
},
37
{
38
name: "Preprocessor Draft List",
39
verify: [doesntHaveContentLinksToDrafts, doesntHaveEnvelopeLinksToDrafts, draftPostIsEmpty, searchDoesntHaveDraft, siteMapDoesntHaveDraft],
40
dir: docs("websites/drafts/drafts-preprocessor")
41
}
42
43
];
44
45
// Run the command
46
for (const testCase of testCases) {
47
// Move to a working directory
48
49
const dir = join(Deno.cwd(), testCase.dir);
50
const outDir = join(dir, "_site");
51
52
testQuartoCmd(
53
"render",
54
[testCase.dir],
55
[noErrorsOrWarnings, ...testCase.verify.map((ver) => { return ver(outDir)})],
56
{
57
teardown: async () => {
58
if (existsSync(outDir)) {
59
await Deno.remove(outDir, { recursive: true });
60
}
61
},
62
},
63
);
64
}
65
66
67