From 262c8a6e835eef63bdad09b3b1f8a4ac9eaa4dbb Mon Sep 17 00:00:00 2001 From: Dev Date: Tue, 7 Nov 2023 22:21:48 +0000 Subject: [PATCH] Add tests for `getRandomCompatibleCaliberTemplateId()` --- project/tests/helpers/ItemHelper.test.ts | 49 ++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/project/tests/helpers/ItemHelper.test.ts b/project/tests/helpers/ItemHelper.test.ts index dda71a1d..52ee42b5 100644 --- a/project/tests/helpers/ItemHelper.test.ts +++ b/project/tests/helpers/ItemHelper.test.ts @@ -6,6 +6,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper"; import { Item, Repairable } from "@spt-aki/models/eft/common/tables/IItem"; import { DatabaseServer } from "@spt-aki/servers/DatabaseServer"; import { HashUtil } from "@spt-aki/utils/HashUtil"; +import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem"; describe("ItemHelper", () => { @@ -1072,4 +1073,52 @@ describe("ItemHelper", () => expect(result.length).toBe(1); }); }); + + describe("getRandomCompatibleCaliberTemplateId", () => + { + it("Should return an item from the passed in items Filter array", () => + { + const fakeTemplateItem = { + _props: { + Cartridges: [ + { + _props: { + filters: [ + { + Filter: [ + "desiredItemTpl" + ] + } + ] + } + } + ] + } + }; + const result = itemHelper.getRandomCompatibleCaliberTemplateId(fakeTemplateItem as ITemplateItem); + + expect(result).toBe("desiredItemTpl"); + }); + + it("Should return null when item passed in has empty cartridges data", () => + { + const fakeTemplateItem = { + _props: { + Cartridges: [ + {} + ] + } + }; + const result = itemHelper.getRandomCompatibleCaliberTemplateId(fakeTemplateItem as ITemplateItem); + + expect(result).toBe(null); + }); + + it("Should return null when undefined passed in", () => + { + const result = itemHelper.getRandomCompatibleCaliberTemplateId(undefined as ITemplateItem); + + expect(result).toBe(null); + }); + }); });