From 9b0989f1df6507b0549fa92c30f01b964d1e2c63 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Sat, 17 May 2025 23:29:09 -0700 Subject: [PATCH] chore: add self-test for serverside vendors (#2083) Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2083 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- src/helpers/pathHelper.ts | 3 ++- src/services/serversideVendorsService.ts | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/helpers/pathHelper.ts b/src/helpers/pathHelper.ts index 95621f6a..94a0f242 100644 --- a/src/helpers/pathHelper.ts +++ b/src/helpers/pathHelper.ts @@ -1,4 +1,5 @@ import path from "path"; export const rootDir = path.join(__dirname, "../.."); -export const repoDir = path.basename(rootDir) == "build" ? path.join(rootDir, "..") : rootDir; +export const isDev = path.basename(rootDir) != "build"; +export const repoDir = isDev ? rootDir : path.join(rootDir, ".."); diff --git a/src/services/serversideVendorsService.ts b/src/services/serversideVendorsService.ts index aa6685a6..08f19b3e 100644 --- a/src/services/serversideVendorsService.ts +++ b/src/services/serversideVendorsService.ts @@ -1,9 +1,11 @@ import { unixTimesInMs } from "@/src/constants/timeConstants"; +import { isDev } from "@/src/helpers/pathHelper"; import { catBreadHash } from "@/src/helpers/stringHelpers"; import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel"; import { mixSeeds, SRng } from "@/src/services/rngService"; import { IMongoDate } from "@/src/types/commonTypes"; import { IItemManifest, IVendorInfo, IVendorManifest } from "@/src/types/vendorTypes"; +import { logger } from "@/src/utils/logger"; import { ExportVendors, IRange, IVendor } from "warframe-public-export-plus"; import ArchimedeanVendorManifest from "@/static/fixed_responses/getVendorInfo/ArchimedeanVendorManifest.json"; @@ -363,3 +365,18 @@ const generateVendorManifest = (vendorInfo: IGeneratableVendorInfo): IVendorMani } return cacheEntry; }; + +if (isDev) { + const ads = getVendorManifestByTypeName("/Lotus/Types/Game/VendorManifests/Hubs/GuildAdvertisementVendorManifest")! + .VendorInfo.ItemManifest; + if ( + ads.length != 5 || + ads[0].Bin != "BIN_4" || + ads[1].Bin != "BIN_3" || + ads[2].Bin != "BIN_2" || + ads[3].Bin != "BIN_1" || + ads[4].Bin != "BIN_0" + ) { + logger.warn(`self test failed for /Lotus/Types/Game/VendorManifests/Hubs/GuildAdvertisementVendorManifest`); + } +}