forked from StellarSend/frontend
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvalidation.test.ts
More file actions
19 lines (19 loc) · 1.1 KB
/
Copy pathvalidation.test.ts
File metadata and controls
19 lines (19 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { describe, it, expect } from "vitest"
import { validateAmount, validateRecipient, validateMemo } from "./validation"
const VALID_ADDR = "GBBD47IF6LWK7P7MDEVSCWR7DPUWV3NY3DTQEVFL4NAT4AQH3ZLLFLA5"
describe("validateAmount", () => {
it("rejects empty string", () => expect(validateAmount("")).not.toBeNull())
it("rejects zero", () => expect(validateAmount("0")).not.toBeNull())
it("rejects negative", () => expect(validateAmount("-1")).not.toBeNull())
it("rejects below minimum", () => expect(validateAmount("0.001")).not.toBeNull())
it("accepts valid amount", () => expect(validateAmount("10")).toBeNull())
})
describe("validateRecipient", () => {
it("rejects empty", () => expect(validateRecipient("")).not.toBeNull())
it("rejects invalid address", () => expect(validateRecipient("invalid")).not.toBeNull())
it("accepts valid G address", () => expect(validateRecipient(VALID_ADDR)).toBeNull())
})
describe("validateMemo", () => {
it("accepts short memo", () => expect(validateMemo("hello")).toBeNull())
it("rejects memo over 28 chars", () => expect(validateMemo("a".repeat(29))).not.toBeNull())
})