Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 3 additions & 11 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 12 additions & 1 deletion src/components/AnchorForm.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,18 @@ describe("AnchorForm", () => {

it("disables the submit button while pending", () => {
render(<AnchorForm onSubmit={() => {}} pending />);
expect(screen.getByText("Register")).toBeDisabled();
expect(screen.getByText("Registering…")).toBeDisabled();
});

it("shows pending-state text and reverts when pending changes", () => {
const { rerender } = render(<AnchorForm onSubmit={() => {}} pending={false} />);
expect(screen.getByText("Register")).toBeInTheDocument();
rerender(<AnchorForm onSubmit={() => {}} pending />);
expect(screen.getByText("Registering…")).toBeInTheDocument();
expect(screen.getByText("Registering…")).toBeDisabled();
rerender(<AnchorForm onSubmit={() => {}} pending={false} />);
expect(screen.getByText("Register")).toBeInTheDocument();
expect(screen.getByText("Register")).not.toBeDisabled();
});

it("clears field values, errors, and focuses the id field after reset", () => {
Expand Down
2 changes: 1 addition & 1 deletion src/components/AnchorForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ export function AnchorForm({
disabled={pending}
className="h-fit shrink-0 rounded-lg bg-emerald-600 px-4 py-2 text-sm font-medium text-white hover:bg-emerald-500 disabled:opacity-50"
>
Register
{pending ? "Registering…" : "Register"}
</button>
<button
type="button"
Expand Down
29 changes: 9 additions & 20 deletions src/components/SettlementForm.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -217,26 +217,15 @@ describe("SettlementForm", () => {
});
});
});
});

it("rejects submission when asset case differs and exceeds liquidity", () => {
const onSubmit = vi.fn();
render(
<SettlementForm
onSubmit={onSubmit}
availableLiquidity={{ USDC: 1000 }}
/>,
);
// Use lowercase asset code
fireEvent.change(screen.getByPlaceholderText("Asset"), {
target: { value: "usdc" },
});
fireEvent.change(screen.getByPlaceholderText("Amount"), {
target: { value: "1500" },
});
fireEvent.click(screen.getByText("Open settlement"));
// Expect liquidity error
expect(screen.getByText(/Insufficient liquidity/)).toBeInTheDocument();
expect(onSubmit).not.toHaveBeenCalled();
it("shows pending-state text and reverts when pending changes", () => {
const { rerender } = render(<SettlementForm onSubmit={() => {}} pending={false} />);
expect(screen.getByText("Open settlement")).toBeInTheDocument();
rerender(<SettlementForm onSubmit={() => {}} pending />);
expect(screen.getByText("Opening…")).toBeInTheDocument();
expect(screen.getByText("Opening…")).toBeDisabled();
rerender(<SettlementForm onSubmit={() => {}} pending={false} />);
expect(screen.getByText("Open settlement")).toBeInTheDocument();
expect(screen.getByText("Open settlement")).not.toBeDisabled();
});
});
2 changes: 1 addition & 1 deletion src/components/SettlementForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ export function SettlementForm({
disabled={pending}
className="flex-1 h-fit rounded-lg bg-emerald-600 px-4 py-2 text-sm font-medium text-white hover:bg-emerald-500 disabled:opacity-50"
>
Open settlement
{pending ? "Opening…" : "Open settlement"}
</button>
<button
type="button"
Expand Down