Added tests for importMetadataSymbol method

This commit is contained in:
Alexander Cerutti
2021-10-12 23:15:03 +02:00
parent 57c6021dca
commit 3de32787da

View File

@@ -1,11 +1,13 @@
import { filesSymbol } from "../lib/Bundle"; import { filesSymbol } from "../lib/Bundle";
import FieldsArray from "../lib/FieldsArray"; import FieldsArray from "../lib/FieldsArray";
import { PassProps } from "../lib/schemas";
import { import {
default as PKPass, default as PKPass,
localizationSymbol, localizationSymbol,
certificatesSymbol, certificatesSymbol,
propsSymbol, propsSymbol,
passTypeSymbol, passTypeSymbol,
importMetadataSymbol,
} from "../lib/PKPass"; } from "../lib/PKPass";
describe("PKPass", () => { describe("PKPass", () => {
@@ -773,4 +775,44 @@ describe("PKPass", () => {
expect(pass[localizationSymbol]["en"]).toBeUndefined(); expect(pass[localizationSymbol]["en"]).toBeUndefined();
}); });
}); });
describe("[importMetadataSymbol]", () => {
it("should read data and set type", () => {
pass[importMetadataSymbol]({
boardingPass: {},
});
expect(pass.type).toBe("boardingPass");
});
it("should push fields to their own fields if a type is found", () => {
const baseField: PassProps["boardingPass"]["headerFields"][0] = {
key: "0",
value: "n/a",
label: "n/d",
};
pass[importMetadataSymbol]({
boardingPass: {
primaryFields: [{ ...baseField, key: "pf0" }],
secondaryFields: [{ ...baseField, key: "sf0" }],
auxiliaryFields: [{ ...baseField, key: "af0" }],
headerFields: [{ ...baseField, key: "hf0" }],
backFields: [{ ...baseField, key: "bf0" }],
},
} as PassProps);
expect(pass.primaryFields[0]).toEqual({ ...baseField, key: "pf0" });
expect(pass.secondaryFields[0]).toEqual({
...baseField,
key: "sf0",
});
expect(pass.auxiliaryFields[0]).toEqual({
...baseField,
key: "af0",
});
expect(pass.headerFields[0]).toEqual({ ...baseField, key: "hf0" });
expect(pass.backFields[0]).toEqual({ ...baseField, key: "bf0" });
});
});
}); });