From e84641c13c876356e70cc448be69c17f221b0de8 Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Tue, 12 Jul 2022 18:11:44 +0100 Subject: [PATCH] #1583 Add more tests to media data --- src/export/packer/next-compiler.spec.ts | 37 ++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/src/export/packer/next-compiler.spec.ts b/src/export/packer/next-compiler.spec.ts index 1c1a867a12..3cd56c211f 100644 --- a/src/export/packer/next-compiler.spec.ts +++ b/src/export/packer/next-compiler.spec.ts @@ -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, + }, + }), + ], + }), + ], }, ], });