Added unit tests for preferredStyleSchemes

This commit is contained in:
Alexander Cerutti
2024-06-16 14:39:36 +02:00
parent dd08515251
commit bbe02b83b4

View File

@@ -1148,4 +1148,103 @@ describe("PKPass", () => {
);
});
});
describe("eventTicket new layout", () => {
it("should contain preferredStyleSchemes if coming from an imported pass json", () => {
const passjson = modelFiles["pass.json"];
const changedPassJson = Buffer.from(
JSON.stringify(
Object.assign({}, JSON.parse(passjson.toString("utf-8")), {
eventTicket: {
preferredStyleSchemes: [
"posterEventTicket",
"eventTicket",
],
},
}),
),
"utf-8",
);
pkpass = new PKPass(
Object.assign({}, modelFiles, { "pass.json": changedPassJson }),
{
signerCert: SIGNER_CERT,
signerKey: SIGNER_KEY,
wwdr: WWDR,
signerKeyPassphrase: SIGNER_KEY_PASSPHRASE,
},
);
expect(pkpass.preferredStyleSchemes).toEqual([
"posterEventTicket",
"eventTicket",
]);
const passjsonGenerated = getGeneratedPassJson(pkpass);
expect(
passjsonGenerated.eventTicket.preferredStyleSchemes,
).not.toBeUndefined();
expect(passjsonGenerated.eventTicket.preferredStyleSchemes).toEqual(
["posterEventTicket", "eventTicket"],
);
});
it("should contain preferredStyleSchemes if coming from the setter (legacy order)", () => {
pkpass.type = "eventTicket";
pkpass.preferredStyleSchemes = ["eventTicket", "posterEventTicket"];
expect(pkpass.preferredStyleSchemes).toEqual([
"eventTicket",
"posterEventTicket",
]);
const passjsonGenerated = getGeneratedPassJson(pkpass);
expect(
passjsonGenerated.eventTicket.preferredStyleSchemes,
).not.toBeUndefined();
expect(passjsonGenerated.eventTicket.preferredStyleSchemes).toEqual(
["eventTicket", "posterEventTicket"],
);
});
it("should contain preferredStyleSchemes if coming from the setter (new order)", () => {
pkpass.type = "eventTicket";
pkpass.preferredStyleSchemes = ["posterEventTicket", "eventTicket"];
expect(pkpass.preferredStyleSchemes).toEqual([
"posterEventTicket",
"eventTicket",
]);
const passjsonGenerated = getGeneratedPassJson(pkpass);
expect(
passjsonGenerated.eventTicket.preferredStyleSchemes,
).not.toBeUndefined();
expect(passjsonGenerated.eventTicket.preferredStyleSchemes).toEqual(
["posterEventTicket", "eventTicket"],
);
});
});
it("preferredStyleSchemes setter should throw if pass is not an eventTicket", () => {
pkpass.type = "boardingPass";
expect(() => {
pkpass.preferredStyleSchemes = ["posterEventTicket", "eventTicket"];
}).toThrowError();
});
it("preferredStyleSchemes getter should throw if pass is not an eventTicket", () => {
pkpass.type = "boardingPass";
expect(() => {
pkpass.preferredStyleSchemes;
}).toThrowError();
});
});