1- import { beforeAll , describe , expect , it , vi } from "vitest" ;
1+ import { describe , expect , it , vi } from "vitest" ;
22
33import {
44 CHAIN_NAMESPACES ,
@@ -41,15 +41,13 @@ class TestWeb3AuthNoModal extends Web3AuthNoModal {
4141 public exposeSubscribeToConnectorEvents ( connector : MockConnector ) {
4242 this . subscribeToConnectorEvents ( connector as unknown as IConnector < unknown > ) ;
4343 }
44+
45+ public exposeCompleteConsentAcceptance ( ) {
46+ return this . completeConsentAcceptance ( ) ;
47+ }
4448}
4549
4650describe ( "Web3AuthNoModal" , ( ) => {
47- beforeAll ( ( ) => {
48- vi . stubGlobal ( "window" , {
49- location : { origin : "http://localhost:3000" } ,
50- } ) ;
51- } ) ;
52-
5351 it ( "throws when clientId is missing" , ( ) => {
5452 expect (
5553 ( ) =>
@@ -273,20 +271,21 @@ describe("Web3AuthNoModal", () => {
273271 await expect ( sdk . getUserInfo ( ) ) . rejects . toThrow ( WalletLoginError ) ;
274272 } ) ;
275273
276- it ( "auto-skips consent UI when consent:<userId> is true" , async ( ) => {
274+ it ( "auto-skips consent UI when prior consent is true" , async ( ) => {
277275 const storage = createMockStorage ( ) ;
278- await storage . set ( WEB3AUTH_STATE_STORAGE_KEY , JSON . stringify ( { consentDecisions : { "0xabc123" : true } } ) ) ;
276+ await storage . set ( WEB3AUTH_STATE_STORAGE_KEY , JSON . stringify ( { hasUserConsent : true } ) ) ;
279277 const sdk = createSdk ( {
280278 initialAuthenticationMode : CONNECTOR_INITIAL_AUTHENTICATION_MODE . CONNECT_AND_SIGN ,
281279 storage : { sessionId : storage } ,
282280 } ) ;
281+ await Promise . resolve ( ) ;
283282 sdk . exposeSetConsentRequired ( true ) ;
284283 const consentRequiredListener = vi . fn ( ) ;
285284 sdk . on ( CONNECTOR_EVENTS . CONSENT_REQUIRING , consentRequiredListener ) ;
286285
287286 const ethereumProvider = { request : vi . fn ( ) . mockResolvedValue ( [ "0xAbC123" ] ) } ;
288- const consentAcceptedListener = vi . fn ( ) ;
289- sdk . on ( CONNECTOR_EVENTS . CONSENT_ACCEPTED , consentAcceptedListener ) ;
287+ const authorizedListener = vi . fn ( ) ;
288+ sdk . on ( CONNECTOR_EVENTS . AUTHORIZED , authorizedListener ) ;
290289 const connector = new MockConnector ( { name : WALLET_CONNECTORS . METAMASK } as never ) ;
291290 ( sdk as unknown as { connectors : MockConnector [ ] } ) . connectors = [ connector ] ;
292291 sdk . exposeSubscribeToConnectorEvents ( connector ) ;
@@ -309,20 +308,21 @@ describe("Web3AuthNoModal", () => {
309308 authTokenInfo : { idToken : "id-token" } ,
310309 } ) ;
311310 await vi . waitFor ( ( ) => {
312- expect ( consentAcceptedListener ) . toHaveBeenCalledTimes ( 1 ) ;
311+ expect ( authorizedListener ) . toHaveBeenCalledTimes ( 1 ) ;
313312 } ) ;
314313
315314 expect ( sdk . status ) . toBe ( CONNECTOR_STATUS . AUTHORIZED ) ;
316315 expect ( consentRequiredListener ) . not . toHaveBeenCalled ( ) ;
317316 } ) ;
318317
319- it ( "shows consent UI when stored decision is false" , async ( ) => {
318+ it ( "shows consent UI when prior consent is false" , async ( ) => {
320319 const storage = createMockStorage ( ) ;
321- await storage . set ( WEB3AUTH_STATE_STORAGE_KEY , JSON . stringify ( { consentDecisions : { "0xbeef" : false } } ) ) ;
320+ await storage . set ( WEB3AUTH_STATE_STORAGE_KEY , JSON . stringify ( { hasUserConsent : false } ) ) ;
322321 const sdk = createSdk ( {
323322 initialAuthenticationMode : CONNECTOR_INITIAL_AUTHENTICATION_MODE . CONNECT_ONLY ,
324323 storage : { sessionId : storage } ,
325324 } ) ;
325+ await Promise . resolve ( ) ;
326326 sdk . exposeSetConsentRequired ( true ) ;
327327 const consentRequiredListener = vi . fn ( ) ;
328328 sdk . on ( CONNECTOR_EVENTS . CONSENT_REQUIRING , consentRequiredListener ) ;
@@ -349,11 +349,11 @@ describe("Web3AuthNoModal", () => {
349349 await vi . waitFor ( ( ) => {
350350 expect ( consentRequiredListener ) . toHaveBeenCalledTimes ( 1 ) ;
351351 } ) ;
352- await sdk . acceptConsent ( ) ;
352+ await sdk . exposeCompleteConsentAcceptance ( ) ;
353353 await expect ( connectionPromise ) . resolves . not . toBeNull ( ) ;
354354 } ) ;
355355
356- it ( "persists consent:<userId> when user accepts consent UI" , async ( ) => {
356+ it ( "persists user consent when user accepts consent UI" , async ( ) => {
357357 const storage = createMockStorage ( ) ;
358358 const sdk = createSdk ( {
359359 initialAuthenticationMode : CONNECTOR_INITIAL_AUTHENTICATION_MODE . CONNECT_ONLY ,
@@ -385,12 +385,12 @@ describe("Web3AuthNoModal", () => {
385385 await vi . waitFor ( ( ) => {
386386 expect ( consentRequiredListener ) . toHaveBeenCalledTimes ( 1 ) ;
387387 } ) ;
388- await sdk . acceptConsent ( ) ;
388+ await sdk . exposeCompleteConsentAcceptance ( ) ;
389389 await connectionPromise ;
390390
391391 const stateJson = await storage . get ( WEB3AUTH_STATE_STORAGE_KEY ) ;
392392 const state = JSON . parse ( stateJson ! ) ;
393- expect ( state . consentDecisions [ "0xfeed" ] ) . toBe ( true ) ;
393+ expect ( state . hasUserConsent ) . toBe ( true ) ;
394394 } ) ;
395395
396396 it ( "setConnectors deduplicates and emits updates only for new connectors" , ( ) => {
0 commit comments