Files
HexaHost-GameCloud/packages/metering/src/metering.test.ts
smueller ab21f53cdd
Some checks failed
CI / Node — lint, typecheck, test, build (push) Failing after 9s
CI / Go — node-agent tests (push) Failing after 8s
CI / Go — edge-gateway build (push) Successful in 14s
Phase7
2026-06-26 13:20:55 +02:00

24 lines
662 B
TypeScript

import { describe, expect, it } from 'vitest';
import {
calculateUsageCredits,
parseMinecraftListOutput,
} from './index';
describe('metering', () => {
it('charges credits by RAM-GB-minutes', () => {
expect(calculateUsageCredits(1024, 60)).toBe(1);
expect(calculateUsageCredits(2048, 60)).toBe(2);
expect(calculateUsageCredits(512, 30)).toBe(1);
});
it('parses minecraft list command output', () => {
expect(
parseMinecraftListOutput('There are 2 of a max of 20 players online: Steve, Alex'),
).toBe(2);
expect(
parseMinecraftListOutput('There are 0 of a maximum of 10 players online:'),
).toBe(0);
});
});