mirror of
https://git.quad4.io/RNS-Things/MeshChatX.git
synced 2026-04-25 15:22:10 +00:00
38 lines
1.4 KiB
JavaScript
38 lines
1.4 KiB
JavaScript
import { describe, it, expect } from "vitest";
|
|
import {
|
|
INCOMING_DELIVERY_MAX_BYTES,
|
|
INCOMING_DELIVERY_PRESET_BYTES,
|
|
clampIncomingDeliveryBytes,
|
|
incomingDeliveryBytesFromCustom,
|
|
incomingDeliveryBytesFromPresetKey,
|
|
syncIncomingDeliveryFieldsFromBytes,
|
|
} from "../../meshchatx/src/frontend/js/settings/incomingDeliveryLimit.js";
|
|
|
|
describe("incomingDeliveryLimit", () => {
|
|
it("clamps to max 1 GiB", () => {
|
|
expect(clampIncomingDeliveryBytes(2_000_000_000)).toBe(INCOMING_DELIVERY_MAX_BYTES);
|
|
});
|
|
|
|
it("maps preset keys to bytes", () => {
|
|
expect(incomingDeliveryBytesFromPresetKey("1gb")).toBe(1_000_000_000);
|
|
expect(incomingDeliveryBytesFromPresetKey("custom")).toBeNull();
|
|
});
|
|
|
|
it("parses custom MB and GB", () => {
|
|
expect(incomingDeliveryBytesFromCustom(9, "mb")).toBe(9_000_000);
|
|
expect(incomingDeliveryBytesFromCustom(1, "gb")).toBe(1_000_000_000);
|
|
});
|
|
|
|
it("syncs preset field for exact preset bytes", () => {
|
|
const s = syncIncomingDeliveryFieldsFromBytes(INCOMING_DELIVERY_PRESET_BYTES["25mb"]);
|
|
expect(s.preset).toBe("25mb");
|
|
});
|
|
|
|
it("syncs custom for non-preset bytes", () => {
|
|
const s = syncIncomingDeliveryFieldsFromBytes(9_000_000);
|
|
expect(s.preset).toBe("custom");
|
|
expect(s.customAmount).toBe(9);
|
|
expect(s.customUnit).toBe("mb");
|
|
});
|
|
});
|