@@ -3,20 +3,23 @@ import { waitFor } from "@testing-library/react";
33import { ERC7984_WRAPPER_INTERFACE_ID } from "@zama-fhe/sdk" ;
44import type { Address } from "@zama-fhe/sdk" ;
55import { useUnderlyingAllowance } from "../shield/use-underlying-allowance" ;
6+ import { useSignerAddress , useSignerAddressSuspense } from "../use-signer-address" ;
67import { useUnshield } from "../unshield/use-unshield" ;
78import { useUnshieldAll } from "../unshield/use-unshield-all" ;
89import { useMetadataSuspense } from "../token/use-metadata" ;
910import { useTotalSupplySuspense } from "../token/use-total-supply" ;
1011import { useWrapperDiscoverySuspense } from "../token/use-wrapper-discovery" ;
12+ import { USER } from "./mutation-test-helpers" ;
1113
1214describe ( "useUnderlyingAllowance" , ( ) => {
1315 it ( "returns allowance value" , async ( {
1416 signer,
1517 tokenAddress,
1618 wrapperAddress,
1719 renderWithProviders,
20+ provider,
1821 } ) => {
19- vi . mocked ( signer . readContract )
22+ vi . mocked ( provider . readContract )
2023 . mockResolvedValueOnce ( "0x5e5E5e5e5E5e5E5E5e5E5E5e5e5E5E5E5e5E5E5e" )
2124 . mockResolvedValueOnce ( 5000n ) ;
2225
@@ -31,7 +34,23 @@ describe("useUnderlyingAllowance", () => {
3134
3235 await waitFor ( ( ) => expect ( result . current . isSuccess ) . toBe ( true ) ) ;
3336 expect ( result . current . data ) . toBe ( 5000n ) ;
34- expect ( signer . readContract ) . toHaveBeenCalled ( ) ;
37+ expect ( provider . readContract ) . toHaveBeenCalled ( ) ;
38+ } ) ;
39+ } ) ;
40+
41+ describe ( "useSignerAddress" , ( ) => {
42+ it ( "returns the connected signer address" , async ( { renderWithProviders } ) => {
43+ const { result } = renderWithProviders ( ( ) => useSignerAddress ( ) ) ;
44+
45+ await waitFor ( ( ) => expect ( result . current . data ) . toBe ( USER ) ) ;
46+ } ) ;
47+ } ) ;
48+
49+ describe ( "useSignerAddressSuspense" , ( ) => {
50+ it ( "returns the connected signer address" , async ( { renderWithProviders } ) => {
51+ const { result } = renderWithProviders ( ( ) => useSignerAddressSuspense ( ) ) ;
52+
53+ await waitFor ( ( ) => expect ( result . current . data ) . toBe ( USER ) ) ;
3554 } ) ;
3655} ) ;
3756
@@ -54,8 +73,13 @@ describe("useUnshieldAll", () => {
5473} ) ;
5574
5675describe ( "useMetadataSuspense" , ( ) => {
57- it ( "returns metadata via suspense" , async ( { signer, tokenAddress, renderWithProviders } ) => {
58- vi . mocked ( signer . readContract )
76+ it ( "returns metadata via suspense" , async ( {
77+ signer,
78+ tokenAddress,
79+ renderWithProviders,
80+ provider,
81+ } ) => {
82+ vi . mocked ( provider . readContract )
5983 . mockResolvedValueOnce ( "TestToken" )
6084 . mockResolvedValueOnce ( "TT" )
6185 . mockResolvedValueOnce ( 18 ) ;
@@ -70,8 +94,13 @@ describe("useMetadataSuspense", () => {
7094} ) ;
7195
7296describe ( "useTotalSupplySuspense" , ( ) => {
73- it ( "returns total supply via suspense" , async ( { signer, tokenAddress, renderWithProviders } ) => {
74- vi . mocked ( signer . readContract ) . mockImplementation ( async ( config ) => {
97+ it ( "returns total supply via suspense" , async ( {
98+ signer,
99+ tokenAddress,
100+ renderWithProviders,
101+ provider,
102+ } ) => {
103+ vi . mocked ( provider . readContract ) . mockImplementation ( async ( config ) => {
75104 if ( config . functionName === "supportsInterface" ) {
76105 return config . args [ 0 ] === ERC7984_WRAPPER_INTERFACE_ID ;
77106 }
@@ -92,10 +121,11 @@ describe("useWrapperDiscoverySuspense", () => {
92121 signer,
93122 tokenAddress,
94123 renderWithProviders,
124+ provider,
95125 } ) => {
96126 const wrapperAddr = "0x4D4d4D4d4d4D4D4d4D4D4D4d4d4d4d4D4D4d4d4D" as Address ;
97- vi . mocked ( signer . getChainId ) . mockResolvedValue ( 1 ) ;
98- vi . mocked ( signer . readContract )
127+ vi . mocked ( provider . getChainId ) . mockResolvedValue ( 1 ) ;
128+ vi . mocked ( provider . readContract )
99129 . mockResolvedValueOnce ( [ true , wrapperAddr ] )
100130 . mockResolvedValueOnce ( true ) ;
101131
0 commit comments