honkit
Version:
HonKit is building beautiful books using Markdown.
76 lines (75 loc) • 3.04 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 moveArticleAfter_1 = __importDefault(require("../moveArticleAfter"));
describe("moveArticleAfter", () => {
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("moving right after itself should be invariant", () => {
const newSummary = (0, moveArticleAfter_1.default)(summary, "2.1", "2.1");
expect(immutable_1.default.is(summary, newSummary)).toBe(true);
});
test("moving after previous one should be invariant too", () => {
const newSummary = (0, moveArticleAfter_1.default)(summary, "2.1", "2.0");
expect(immutable_1.default.is(summary, newSummary)).toBe(true);
});
test("should move an article after a previous level", () => {
const newSummary = (0, moveArticleAfter_1.default)(summary, "2.2", "2.0");
const moved = newSummary.getByLevel("2.1");
expect(moved.getTitle()).toBe("2.2");
expect(newSummary.getByLevel("2.2").getTitle()).toBe("2.1");
});
test("should move an article after a previous and less deep level", () => {
const newSummary = (0, moveArticleAfter_1.default)(summary, "2.1.1", "2.0");
const moved = newSummary.getByLevel("2.1");
expect(moved.getTitle()).toBe("2.1.1");
expect(newSummary.getByLevel("2.2.1").getTitle()).toBe("2.1.2");
expect(newSummary.getByLevel("2.2").getTitle()).toBe("2.1");
});
test("should move an article after a next level", () => {
const newSummary = (0, moveArticleAfter_1.default)(summary, "2.1", "2.2");
const moved = newSummary.getByLevel("2.2");
expect(moved.getTitle()).toBe("2.1");
expect(newSummary.getByLevel("2.1").getTitle()).toBe("2.2");
});
});