#1583 Add more tests to media data

This commit is contained in:
Dolan Miu
2022-07-12 18:11:44 +01:00
parent a7d55a52f3
commit e84641c13c

View File

@ -4,7 +4,8 @@ import * as sinon from "sinon";
import { File } from "@file/file";
import { Footer, Header } from "@file/header";
import { Paragraph } from "@file/paragraph";
import { ImageRun, Paragraph } from "@file/paragraph";
import * as convenienceFunctions from "@util/convenience-functions";
import { Compiler } from "./next-compiler";
@ -15,6 +16,14 @@ describe("Compiler", () => {
compiler = new Compiler();
});
before(() => {
sinon.stub(convenienceFunctions, "uniqueId").callsFake(() => "test");
});
after(() => {
(convenienceFunctions.uniqueId as sinon.SinonStub).restore();
});
describe("#compile()", () => {
it("should pack all the content", async function () {
this.timeout(99999999);
@ -117,12 +126,32 @@ describe("Compiler", () => {
it("should work with media datas", () => {
// This test is required because before, there was a case where Document was formatted twice, which was inefficient
// This also caused issues such as running prepForXml multiple times as format() was ran multiple times.
const paragraph = new Paragraph("");
const file = new File({
sections: [
{
properties: {},
children: [paragraph],
headers: {
default: new Header({
children: [new Paragraph("test")],
}),
},
footers: {
default: new Footer({
children: [new Paragraph("test")],
}),
},
children: [
new Paragraph({
children: [
new ImageRun({
data: Buffer.from("", "base64"),
transformation: {
width: 100,
height: 100,
},
}),
],
}),
],
},
],
});