honkit
Version:
HonKit is building beautiful books using Markdown.
46 lines (45 loc) • 1.8 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const immutable_1 = __importDefault(require("immutable"));
const summary_1 = __importDefault(require("../../../models/summary"));
const file_1 = __importDefault(require("../../../models/file"));
const mergeAtLevel_1 = __importDefault(require("../mergeAtLevel"));
describe("mergeAtLevel", () => {
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: [],
},
]);
test("should edit a part", () => {
const beforeChildren = summary.getByLevel("1").getArticles();
const newSummary = (0, mergeAtLevel_1.default)(summary, "1", { title: "Part O" });
const edited = newSummary.getByLevel("1");
expect(edited.getTitle()).toBe("Part O");
// Same children
expect(immutable_1.default.is(beforeChildren, edited.getArticles())).toBe(true);
});
test("should edit a part", () => {
const beforePath = summary.getByLevel("1.2").getPath();
const newSummary = (0, mergeAtLevel_1.default)(summary, "1.2", { title: "Renamed article" });
const edited = newSummary.getByLevel("1.2");
expect(edited.getTitle()).toBe("Renamed article");
// Same children
expect(immutable_1.default.is(beforePath, edited.getPath())).toBe(true);
});
});