Files
cfw-autumn/server/tests/utils/expectUtils/expectContUse/expectEntityUtils.ts
2025-09-22 14:45:25 +01:00

50 lines
1.0 KiB
TypeScript

import { Decimal } from "decimal.js";
import { timeout } from "@/utils/genUtils.js";
import { AutumnInt } from "@/external/autumn/autumnCli.js";
import { expect } from "chai";
export const useEntityBalanceAndExpect = async ({
autumn,
customerId,
featureId,
entityId,
}: {
autumn: AutumnInt;
customerId: string;
featureId: string;
entityId: string;
}) => {
let deduction = new Decimal(Math.random() * 400)
.toDecimalPlaces(5)
.toNumber();
let balanceBefore = await autumn.check({
customer_id: customerId,
feature_id: featureId,
entity_id: entityId,
});
await autumn.track({
customer_id: customerId,
feature_id: featureId,
value: deduction,
entity_id: entityId,
});
await timeout(3000);
let balanceAfter = await autumn.check({
customer_id: customerId,
feature_id: featureId,
entity_id: entityId,
});
let expectedBalance = new Decimal(balanceBefore.balance!)
.sub(deduction)
.toNumber();
expect(balanceAfter.balance).to.equal(
expectedBalance,
"Entity balance should be correct",
);
};