11// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.
22// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
33
4+ import type { User } from "./User" ;
45import { UserManagerEvents } from "./UserManagerEvents" ;
56import { UserManagerSettingsStore } from "./UserManagerSettings" ;
67
@@ -17,9 +18,78 @@ describe("UserManagerEvents", () => {
1718 subject = new UserManagerEvents ( settings ) ;
1819 } ) ;
1920
20- describe ( "silent renew error" , ( ) => {
21+ describe ( "user loaded" , ( ) => {
22+ it ( "should allow add callback" , async ( ) => {
23+ // arrange
24+ const cb = jest . fn ( ) ;
25+
26+ // act
27+ subject . addUserLoaded ( cb ) ;
28+ await subject . load ( { } as User ) ;
29+
30+ // assert
31+ expect ( cb ) . toHaveBeenCalled ( ) ;
32+ } ) ;
33+
34+ it ( "should allow remove callback" , async ( ) => {
35+ // arrange
36+ const cb = jest . fn ( ) ;
37+
38+ // act
39+ subject . addUserLoaded ( cb ) ;
40+ subject . removeUserLoaded ( cb ) ;
41+ await subject . load ( { } as User ) ;
42+
43+ // assert
44+ expect ( cb ) . toHaveBeenCalledTimes ( 0 ) ;
45+ } ) ;
46+
47+ it ( "should pass user to callback" , async ( ) => {
48+ // arrange
49+ let u : User | null = null ;
50+ const cb = function ( arg_user : User ) {
51+ u = arg_user ;
52+ } ;
53+ const expected = { access_token : "token" } as User ;
54+
55+ // act
56+ subject . addUserLoaded ( cb ) ;
57+ await subject . load ( expected ) ;
58+
59+ // assert
60+ expect ( u ) . toEqual ( expected ) ;
61+ } ) ;
62+ } ) ;
63+
64+ describe ( "user unloaded" , ( ) => {
65+ it ( "should allow add callback" , async ( ) => {
66+ // arrange
67+ const cb = jest . fn ( ) ;
68+
69+ // act
70+ subject . addUserUnloaded ( cb ) ;
71+ await subject . unload ( ) ;
72+
73+ // assert
74+ expect ( cb ) . toHaveBeenCalled ( ) ;
75+ } ) ;
76+
77+ it ( "should allow remove callback" , async ( ) => {
78+ // arrange
79+ const cb = jest . fn ( ) ;
2180
22- it ( "should allow callback" , async ( ) => {
81+ // act
82+ subject . addUserUnloaded ( cb ) ;
83+ subject . removeUserUnloaded ( cb ) ;
84+ await subject . unload ( ) ;
85+
86+ // assert
87+ expect ( cb ) . toHaveBeenCalledTimes ( 0 ) ;
88+ } ) ;
89+ } ) ;
90+
91+ describe ( "silent renew error" , ( ) => {
92+ it ( "should allow add callback" , async ( ) => {
2393 // arrange
2494 const cb = jest . fn ( ) ;
2595
@@ -31,7 +101,7 @@ describe("UserManagerEvents", () => {
31101 expect ( cb ) . toHaveBeenCalled ( ) ;
32102 } ) ;
33103
34- it ( "should allow unregistering callback" , async ( ) => {
104+ it ( "should allow remove callback" , async ( ) => {
35105 // arrange
36106 const cb = jest . fn ( ) ;
37107
@@ -60,4 +130,85 @@ describe("UserManagerEvents", () => {
60130 expect ( e ) . toEqual ( expected ) ;
61131 } ) ;
62132 } ) ;
133+
134+ describe ( "user signed in" , ( ) => {
135+ it ( "should allow add callback" , async ( ) => {
136+ // arrange
137+ const cb = jest . fn ( ) ;
138+
139+ // act
140+ subject . addUserSignedIn ( cb ) ;
141+ await subject . _raiseUserSignedIn ( ) ;
142+
143+ // assert
144+ expect ( cb ) . toHaveBeenCalled ( ) ;
145+ } ) ;
146+
147+ it ( "should allow remove callback" , async ( ) => {
148+ // arrange
149+ const cb = jest . fn ( ) ;
150+
151+ // act
152+ subject . addUserSignedIn ( cb ) ;
153+ subject . removeUserSignedIn ( cb ) ;
154+ await subject . _raiseUserSignedIn ( ) ;
155+
156+ // assert
157+ expect ( cb ) . toHaveBeenCalledTimes ( 0 ) ;
158+ } ) ;
159+ } ) ;
160+
161+ describe ( "user signed out" , ( ) => {
162+ it ( "should allow add callback" , async ( ) => {
163+ // arrange
164+ const cb = jest . fn ( ) ;
165+
166+ // act
167+ subject . addUserSignedOut ( cb ) ;
168+ await subject . _raiseUserSignedOut ( ) ;
169+
170+ // assert
171+ expect ( cb ) . toHaveBeenCalled ( ) ;
172+ } ) ;
173+
174+ it ( "should allow remove callback" , async ( ) => {
175+ // arrange
176+ const cb = jest . fn ( ) ;
177+
178+ // act
179+ subject . addUserSignedOut ( cb ) ;
180+ subject . removeUserSignedOut ( cb ) ;
181+ await subject . _raiseUserSignedOut ( ) ;
182+
183+ // assert
184+ expect ( cb ) . toHaveBeenCalledTimes ( 0 ) ;
185+ } ) ;
186+ } ) ;
187+
188+ describe ( "user session changed" , ( ) => {
189+ it ( "should allow add callback" , async ( ) => {
190+ // arrange
191+ const cb = jest . fn ( ) ;
192+
193+ // act
194+ subject . addUserSessionChanged ( cb ) ;
195+ await subject . _raiseUserSessionChanged ( ) ;
196+
197+ // assert
198+ expect ( cb ) . toHaveBeenCalled ( ) ;
199+ } ) ;
200+
201+ it ( "should allow remove callback" , async ( ) => {
202+ // arrange
203+ const cb = jest . fn ( ) ;
204+
205+ // act
206+ subject . addUserSessionChanged ( cb ) ;
207+ subject . removeUserSessionChanged ( cb ) ;
208+ await subject . _raiseUserSessionChanged ( ) ;
209+
210+ // assert
211+ expect ( cb ) . toHaveBeenCalledTimes ( 0 ) ;
212+ } ) ;
213+ } ) ;
63214} ) ;
0 commit comments