diff --git a/project/package.json b/project/package.json index 9f651e93..a4600795 100644 --- a/project/package.json +++ b/project/package.json @@ -66,8 +66,8 @@ "@types/proper-lockfile": "~4.1", "@types/semver": "~7.5", "@types/ws": "~8.5", - "@vitest/coverage-istanbul": "~2", - "@vitest/ui": "~2", + "@vitest/coverage-istanbul": "^2.1.8", + "@vitest/ui": "^2.1.8", "@yao-pkg/pkg": "5.12", "@yao-pkg/pkg-fetch": "3.5.9", "cross-env": "~7.0", @@ -81,7 +81,8 @@ "resedit": "~2.0", "ts-node-dev": "~2.0", "tsconfig-paths": "~4.2", - "typedoc": "~0.26" + "typedoc": "~0.26", + "vitest": "^2.1.8" }, "targets": { "default": { diff --git a/project/src/controllers/RepeatableQuestController.ts b/project/src/controllers/RepeatableQuestController.ts index 82ce81b3..27d2f0c0 100644 --- a/project/src/controllers/RepeatableQuestController.ts +++ b/project/src/controllers/RepeatableQuestController.ts @@ -578,7 +578,7 @@ export class RepeatableQuestController { const charismaBonus = this.profileHelper.getSkillFromProfile(pmcData, SkillTypes.CHARISMA)?.Progress ?? 0; for (const cost of previousChangeRequirement.changeCost) { // Not free, Charge player + appy charisma bonus to cost of replacement - cost.count = Math.trunc(cost.count * (1 - Math.trunc(charismaBonus / 100) * 0.001) ?? 1); + cost.count = Math.trunc(cost.count * (1 - Math.trunc(charismaBonus / 100) * 0.001)); this.paymentService.addPaymentToOutput(pmcData, cost.templateId, cost.count, sessionID, output); if (output.warnings.length > 0) { return output; diff --git a/project/tests/CustomEnvironment.ts b/project/tests/CustomEnvironment.ts index c0ac99c4..3b6865c3 100644 --- a/project/tests/CustomEnvironment.ts +++ b/project/tests/CustomEnvironment.ts @@ -6,7 +6,7 @@ import { IDatabaseTables } from "@spt/models/spt/server/IDatabaseTables"; import { DatabaseServer } from "@spt/servers/DatabaseServer"; import { ImporterUtil } from "@spt/utils/ImporterUtil"; import { DependencyContainer, Lifecycle, container } from "tsyringe"; -import type { Environment } from "vitest"; +import type { Environment } from "vitest/environments"; // Manually mock the logger. import { WinstonLogger } from "@tests/__mocks__/WinstonLogger.mock"; @@ -26,7 +26,7 @@ export default ({ await importDatabase(container); return { - async teardown() {}, + async teardown() { }, }; }, }); diff --git a/project/vitest.config.ts b/project/vitest.config.mts similarity index 94% rename from project/vitest.config.ts rename to project/vitest.config.mts index 66fb6ead..b23411d6 100644 --- a/project/vitest.config.ts +++ b/project/vitest.config.mts @@ -2,12 +2,12 @@ import path from "node:path"; import { defineConfig } from "vitest/config"; export default defineConfig({ + cacheDir: "./tests/__cache__", test: { name: "spt-server", reporters: ["default"], root: "./", include: ["**/*.{test,spec}.?(c|m)[jt]s?(x)"], - cache: { dir: "./tests/__cache__" }, environment: "./tests/CustomEnvironment.ts", globals: true, coverage: {