Added tests for fields getters

This commit is contained in:
Alexander Cerutti
2021-10-12 21:51:38 +02:00
parent 3f6cc6c803
commit 22593ad737

View File

@@ -1,4 +1,5 @@
import { filesSymbol } from "../lib/Bundle";
import FieldsArray from "../lib/FieldsArray";
import {
default as PKPass,
localizationSymbol,
@@ -455,6 +456,77 @@ describe("PKPass", () => {
});
});
describe("fields getters", () => {
it("should throw error if a type has not been defined", () => {
expect(() => pass.primaryFields).toThrowError(
TypeError,
"Cannot read properties of undefined (reading 'primaryFields')",
);
expect(() => pass.secondaryFields).toThrowError(
TypeError,
"Cannot read properties of undefined (reading 'secondaryFields')",
);
expect(() => pass.auxiliaryFields).toThrowError(
TypeError,
"Cannot read properties of undefined (reading 'auxiliaryFields')",
);
expect(() => pass.headerFields).toThrowError(
TypeError,
"Cannot read properties of undefined (reading 'headerFields')",
);
expect(() => pass.backFields).toThrowError(
TypeError,
"Cannot read properties of undefined (reading 'backFields')",
);
});
it("should return an instance of FieldsArray if a type have been set", () => {
pass.type = "boardingPass";
expect(pass.primaryFields).toBeInstanceOf(FieldsArray);
expect(pass.secondaryFields).toBeInstanceOf(FieldsArray);
expect(pass.auxiliaryFields).toBeInstanceOf(FieldsArray);
expect(pass.headerFields).toBeInstanceOf(FieldsArray);
expect(pass.backFields).toBeInstanceOf(FieldsArray);
/** Resetting Fields, when setting type */
pass.type = "coupon";
expect(pass.primaryFields).toBeInstanceOf(FieldsArray);
expect(pass.secondaryFields).toBeInstanceOf(FieldsArray);
expect(pass.auxiliaryFields).toBeInstanceOf(FieldsArray);
expect(pass.headerFields).toBeInstanceOf(FieldsArray);
expect(pass.backFields).toBeInstanceOf(FieldsArray);
/** Resetting Fields, when setting type */
pass.type = "storeCard";
expect(pass.primaryFields).toBeInstanceOf(FieldsArray);
expect(pass.secondaryFields).toBeInstanceOf(FieldsArray);
expect(pass.auxiliaryFields).toBeInstanceOf(FieldsArray);
expect(pass.headerFields).toBeInstanceOf(FieldsArray);
expect(pass.backFields).toBeInstanceOf(FieldsArray);
/** Resetting Fields, when setting type */
pass.type = "eventTicket";
expect(pass.primaryFields).toBeInstanceOf(FieldsArray);
expect(pass.secondaryFields).toBeInstanceOf(FieldsArray);
expect(pass.auxiliaryFields).toBeInstanceOf(FieldsArray);
expect(pass.headerFields).toBeInstanceOf(FieldsArray);
expect(pass.backFields).toBeInstanceOf(FieldsArray);
/** Resetting Fields, when setting type */
pass.type = "generic";
expect(pass.primaryFields).toBeInstanceOf(FieldsArray);
expect(pass.secondaryFields).toBeInstanceOf(FieldsArray);
expect(pass.auxiliaryFields).toBeInstanceOf(FieldsArray);
expect(pass.headerFields).toBeInstanceOf(FieldsArray);
expect(pass.backFields).toBeInstanceOf(FieldsArray);
});
});
describe("localize", () => {
it("should fail throw if lang is not a string", () => {
expect(() => pass.localize(null)).toThrowError(