Added implementation of setLocations along with tests

This commit is contained in:
Alexander Cerutti
2021-09-19 20:09:32 +02:00
parent 8a814e46f0
commit 59efe84bc8
2 changed files with 73 additions and 5 deletions

View File

@@ -45,4 +45,54 @@ describe("PKPass", () => {
expect(pass.props["beacons"].length).toBe(1);
});
});
describe("setLocations", () => {
it("should reset instance.props['locations'] if 'null' is passed as value", () => {
const pass = new PKPass({}, {});
pass.setLocations({
longitude: 0.25456342344,
latitude: 0.26665773234,
});
expect(pass.props["locations"].length).toBe(1);
pass.setLocations(null);
expect(pass.props["locations"]).toBeUndefined();
});
it("should filter out invalid beacons objects", () => {
const pass = new PKPass({}, {});
pass.setLocations(
{
// @ts-expect-error
longitude: "unknown",
// @ts-expect-error
latitude: "unknown",
},
{
altitude: "say hello from here",
longitude: 0.25456342344,
},
{
longitude: 0.25456342344,
latitude: 0.26665773234,
altitude: 12552.31233321,
relevantText:
/** Hi mom, see how do I fly! */
"Ciao mamma, guarda come volooo!",
},
);
expect(pass.props["locations"].length).toBe(1);
expect(pass.props["locations"][0].longitude).toBe(0.25456342344);
expect(pass.props["locations"][0].latitude).toBe(0.26665773234);
expect(pass.props["locations"][0].altitude).toBe(12552.31233321);
expect(pass.props["locations"][0].relevantText).toBe(
"Ciao mamma, guarda come volooo!",
);
});
});
});