Refactor order status handling in NadoGateway and MakerEngine. Introduce isOrderActiveStatus utility to streamline order filtering logic. Add tests for error handling and order status utilities.

This commit is contained in:
discountry
2025-12-20 13:10:48 +08:00
parent 84e8ce1d43
commit 6e5413ec1e
7 changed files with 90 additions and 12 deletions
+29
View File
@@ -0,0 +1,29 @@
import { describe, expect, it } from "vitest";
import { isOrderActiveStatus } from "./order-status";
describe("isOrderActiveStatus", () => {
it("treats empty status as active", () => {
expect(isOrderActiveStatus(undefined)).toBe(true);
expect(isOrderActiveStatus("")).toBe(true);
expect(isOrderActiveStatus(" ")).toBe(true);
});
it("treats typical active statuses as active", () => {
expect(isOrderActiveStatus("NEW")).toBe(true);
expect(isOrderActiveStatus("PARTIALLY_FILLED")).toBe(true);
expect(isOrderActiveStatus("waiting_price")).toBe(true);
});
it("treats final/non-open statuses as inactive", () => {
expect(isOrderActiveStatus("FILLED")).toBe(false);
expect(isOrderActiveStatus("CANCELED")).toBe(false);
expect(isOrderActiveStatus("CANCELLED")).toBe(false);
expect(isOrderActiveStatus("REJECTED")).toBe(false);
expect(isOrderActiveStatus("EXPIRED")).toBe(false);
expect(isOrderActiveStatus("TRIGGERED")).toBe(false);
expect(isOrderActiveStatus("CLOSED")).toBe(false);
expect(isOrderActiveStatus("closed_by_user")).toBe(false);
});
});