@@ -30,22 +30,33 @@ await Assert.ThrowsAsync<ArgumentNullException>("user",
30
30
}
31
31
32
32
[ Theory ]
33
- [ InlineData ( false , false , false ) ]
34
- [ InlineData ( false , true , false ) ]
35
- [ InlineData ( true , false , false ) ]
36
- [ InlineData ( true , true , false ) ]
37
- [ InlineData ( true , false , true ) ]
38
- [ InlineData ( true , true , true ) ]
39
- public async Task EnsureClaimsIdentityHasExpectedClaims ( bool supportRoles , bool supportClaims , bool supportRoleClaims )
33
+ [ InlineData ( true , false , false , false ) ]
34
+ [ InlineData ( true , true , false , false ) ]
35
+ [ InlineData ( true , false , true , false ) ]
36
+ [ InlineData ( true , true , true , false ) ]
37
+ [ InlineData ( false , false , false , true ) ]
38
+ [ InlineData ( false , true , false , true ) ]
39
+ [ InlineData ( false , false , false , false ) ]
40
+ [ InlineData ( false , true , false , false ) ]
41
+ [ InlineData ( true , false , false , true ) ]
42
+ [ InlineData ( true , true , false , true ) ]
43
+ [ InlineData ( true , false , true , true ) ]
44
+ [ InlineData ( true , true , true , true ) ]
45
+ public async Task EnsureClaimsIdentityHasExpectedClaims ( bool supportRoles , bool supportClaims , bool supportRoleClaims , bool supportsUserEmail )
40
46
{
41
47
// Setup
42
48
var userManager = MockHelpers . MockUserManager < PocoUser > ( ) ;
43
49
var roleManager = MockHelpers . MockRoleManager < PocoRole > ( ) ;
44
- var user = new PocoUser { UserName = "Foo" } ;
50
+ var user = new PocoUser { UserName = "Foo" , Email = "foo@bar.com" } ;
45
51
userManager . Setup ( m => m . SupportsUserClaim ) . Returns ( supportClaims ) ;
46
52
userManager . Setup ( m => m . SupportsUserRole ) . Returns ( supportRoles ) ;
53
+ userManager . Setup ( m => m . SupportsUserEmail ) . Returns ( supportsUserEmail ) ;
47
54
userManager . Setup ( m => m . GetUserIdAsync ( user ) ) . ReturnsAsync ( user . Id ) ;
48
55
userManager . Setup ( m => m . GetUserNameAsync ( user ) ) . ReturnsAsync ( user . UserName ) ;
56
+ if ( supportsUserEmail )
57
+ {
58
+ userManager . Setup ( m => m . GetEmailAsync ( user ) ) . ReturnsAsync ( user . Email ) ;
59
+ }
49
60
var roleClaims = new [ ] { "Admin" , "Local" } ;
50
61
if ( supportRoles )
51
62
{
@@ -90,6 +101,7 @@ public async Task EnsureClaimsIdentityHasExpectedClaims(bool supportRoles, bool
90
101
Assert . Contains (
91
102
claims , c => c . Type == manager . Options . ClaimsIdentity . UserNameClaimType && c . Value == user . UserName ) ;
92
103
Assert . Contains ( claims , c => c . Type == manager . Options . ClaimsIdentity . UserIdClaimType && c . Value == user . Id ) ;
104
+ Assert . Equal ( supportsUserEmail , claims . Any ( c => c . Type == manager . Options . ClaimsIdentity . EmailClaimType && c . Value == user . Email ) ) ;
93
105
Assert . Equal ( supportRoles , claims . Any ( c => c . Type == manager . Options . ClaimsIdentity . RoleClaimType && c . Value == "Admin" ) ) ;
94
106
Assert . Equal ( supportRoles , claims . Any ( c => c . Type == manager . Options . ClaimsIdentity . RoleClaimType && c . Value == "Local" ) ) ;
95
107
foreach ( var cl in userClaims )
0 commit comments