Skip to content
Merged
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
4 changes: 2 additions & 2 deletions apps/web/actions/resend/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ describe(`actions/resend`, () => {
// act
const resend = resendActionCreator(testDb.getPrismaClient());
const result = await resend({
name: "Jo",
phone: "1234567890",
// @ts-expect-error - we want to test the invalid type
phonee: "1234567890",
});

// assert
Expand Down
1 change: 0 additions & 1 deletion apps/web/actions/resend/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ export const errorCodes = {
* This schema is used to validate the data passed to the resend function.
*/
const resendSchema = z.object({
name: z.string().min(3),
phone: z.string().min(10),
});
/**
Expand Down
22 changes: 22 additions & 0 deletions apps/web/app/page.client.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,28 @@ describe("PageClient", () => {
expect(screen.getByText("Something went wrong")).toBeInTheDocument();
});

test("TEST#4.1: should render error resend", () => {
vi.mocked(useRegisterResend).mockReturnValue({
tab: "register",
data: { name: "", phone: "" },
errors: {
register: "",
resend: "Something went wrong",
phone: "",
name: "",
},
setErrorForKey: vi.fn(),
setDataForKey: vi.fn(),
clearErrors: vi.fn(),
handleRegister: vi.fn(),
handleResend: vi.fn(),
isPendingRegister: false,
isPendingResend: false,
});
render(<PageClient />);
expect(screen.getByText("Something went wrong")).toBeInTheDocument();
});

test("TEST#5: should render submit button", () => {
vi.mocked(useRegisterResend).mockReturnValue({
tab: "register",
Expand Down
26 changes: 14 additions & 12 deletions apps/web/app/page.client.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,24 +12,19 @@ import { Tab } from "@/hooks/use-home-tab";
const countryCodePhoneErrorMessage =
"Phone must starts with valid country code";

type UseRegisterResend = ReturnType<typeof useRegisterResend>;

interface PageClientFormProps {
tab: Tab;
data: {
name: string;
phone: string;
};
errors: {
name: string;
phone: string;
register: string;
};
tab: UseRegisterResend["tab"];
data: UseRegisterResend["data"];
errors: UseRegisterResend["errors"];
onNameChange: (value: string) => void;
onPhoneChange: (value: string) => void;
onPhoneNotValid: () => void;
onRegister: () => void;
onResend: () => void;
isPendingRegister: boolean;
isPendingResend: boolean;
isPendingRegister: UseRegisterResend["isPendingRegister"];
isPendingResend: UseRegisterResend["isPendingResend"];
}

/**
Expand Down Expand Up @@ -80,6 +75,13 @@ export const PageClientForm = ({
<p className="font-bold">{errors.register}</p>
</div>
)}
{/* TEST#4.1 */}
{!!errors.resend && (
<div className="flex">
<FontAwesomeIcon className="m-1 ml-0" icon={faTimesCircle} />
<p className="font-bold">{errors.resend}</p>
</div>
)}
{/* TEST#5 */}
{tab === "register" && (
<Button
Expand Down
4 changes: 3 additions & 1 deletion apps/web/hooks/use-register-resend.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ describe("useRegisterResend", () => {
return deferredPromise;
});

const { result } = renderHook(() => useRegisterResend());
const { result, rerender } = renderHook(() => useRegisterResend());

// Set some data to pass validation
await act(async () => {
Expand All @@ -224,6 +224,8 @@ describe("useRegisterResend", () => {
await waitFor(() => {
expect(result.current.isPendingResend).toBe(false);
});

expect(result.current.errors.resend).toBe("Resend Error");
});

test("TEST#7: should return default tab", async () => {
Expand Down