honkit
Version:
HonKit is building beautiful books using Markdown.
73 lines (72 loc) • 2.72 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const summary_1 = __importDefault(require("../../../models/summary"));
const summaryArticle_1 = __importDefault(require("../../../models/summaryArticle"));
const file_1 = __importDefault(require("../../../models/file"));
const insertArticle_1 = __importDefault(require("../insertArticle"));
describe("insertArticle", () => {
const summary = summary_1.default.createFromParts(new file_1.default(), [
{
articles: [
{
title: "1.1",
path: "1.1",
},
{
title: "1.2",
path: "1.2",
},
],
},
{
title: "Part I",
articles: [
{
title: "2.1",
path: "2.1",
articles: [
{
title: "2.1.1",
path: "2.1.1",
},
{
title: "2.1.2",
path: "2.1.2",
},
],
},
{
title: "2.2",
path: "2.2",
},
],
},
]);
test("should insert an article at a given level", () => {
const article = summaryArticle_1.default.create({
title: "Inserted",
}, "fake.level");
const newSummary = (0, insertArticle_1.default)(summary, article, "2.1.1");
const inserted = newSummary.getByLevel("2.1.1");
const nextOne = newSummary.getByLevel("2.1.2");
expect(inserted.getTitle()).toBe("Inserted");
expect(inserted.getLevel()).toBe("2.1.1");
expect(nextOne.getTitle()).toBe("2.1.1");
expect(nextOne.getLevel()).toBe("2.1.2");
});
test("should insert an article in last position", () => {
const article = summaryArticle_1.default.create({
title: "Inserted",
}, "fake.level");
const newSummary = (0, insertArticle_1.default)(summary, article, "2.2");
const inserted = newSummary.getByLevel("2.2");
const previousOne = newSummary.getByLevel("2.1");
expect(inserted.getTitle()).toBe("Inserted");
expect(inserted.getLevel()).toBe("2.2");
expect(previousOne.getTitle()).toBe("2.1"); // Unchanged
expect(previousOne.getLevel()).toBe("2.1");
});
});