Skip to content

Commit df4a413

Browse files
committed
Added Client Flow Tests
1 parent 10633eb commit df4a413

File tree

5 files changed

+534
-2
lines changed

5 files changed

+534
-2
lines changed

src/client/CodeBeam.UltimateAuth.Client/Services/UAuthUserIdentifierClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public async Task<UAuthResult> UpdateUserAsync(UserKey userKey, UpdateUserIdenti
111111

112112
public async Task<UAuthResult> SetUserPrimaryAsync(UserKey userKey, SetPrimaryUserIdentifierRequest request)
113113
{
114-
var raw = await _request.SendJsonAsync(Url($"/admin/users/{userKey}/identifiers/set-primary"), request);
114+
var raw = await _request.SendJsonAsync(Url($"/admin/users/{userKey.Value}/identifiers/set-primary"), request);
115115
return UAuthResultMapper.From(raw);
116116
}
117117

tests/CodeBeam.UltimateAuth.Tests.Unit/Client/UAuthClientUserIdentifiersTests.cs

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,4 +152,59 @@ public async Task DeleteUser_Should_Call_Admin_Endpoint()
152152
await client.Identifiers.DeleteUserAsync(userKey, new DeleteUserIdentifierRequest());
153153
Request.Verify(x => x.SendJsonAsync($"/auth/admin/users/{userKey}/identifiers/delete", It.IsAny<object>()), Times.Once);
154154
}
155+
156+
[Fact]
157+
public async Task UpdateUser_Should_Call_Admin_Endpoint()
158+
{
159+
var userKey = UserKey.FromString("user-1");
160+
161+
Request.Setup(x => x.SendJsonAsync(It.IsAny<string>(), It.IsAny<object>()))
162+
.ReturnsAsync(Success());
163+
164+
var client = CreateIdentifierClient();
165+
await client.Identifiers.UpdateUserAsync(userKey, new UpdateUserIdentifierRequest() { NewValue = "uauth" });
166+
Request.Verify(x => x.SendJsonAsync($"/auth/admin/users/{userKey.Value}/identifiers/update", It.IsAny<object>()), Times.Once);
167+
Events.Verify(x => x.PublishAsync(It.IsAny<UAuthStateEventArgs>()), Times.Never);
168+
}
169+
170+
[Fact]
171+
public async Task SetUserPrimary_Should_Call_Admin_Endpoint()
172+
{
173+
var userKey = UserKey.FromString("user-1");
174+
175+
Request.Setup(x => x.SendJsonAsync(It.IsAny<string>(), It.IsAny<object>()))
176+
.ReturnsAsync(Success());
177+
178+
var client = CreateIdentifierClient();
179+
await client.Identifiers.SetUserPrimaryAsync(userKey, new SetPrimaryUserIdentifierRequest());
180+
Request.Verify(x => x.SendJsonAsync($"/auth/admin/users/{userKey.Value}/identifiers/set-primary", It.IsAny<object>()), Times.Once);
181+
}
182+
183+
[Fact]
184+
public async Task UnsetUserPrimary_Should_Call_Admin_Endpoint()
185+
{
186+
var userKey = UserKey.FromString("user-1");
187+
188+
Request.Setup(x => x.SendJsonAsync(It.IsAny<string>(), It.IsAny<object>()))
189+
.ReturnsAsync(Success());
190+
191+
var client = CreateIdentifierClient();
192+
await client.Identifiers.UnsetUserPrimaryAsync(userKey, new UnsetPrimaryUserIdentifierRequest());
193+
Request.Verify(x => x.SendJsonAsync($"/auth/admin/users/{userKey.Value}/identifiers/unset-primary", It.IsAny<object>()), Times.Once);
194+
Events.Verify(x => x.PublishAsync(It.IsAny<UAuthStateEventArgs>()), Times.Never);
195+
}
196+
197+
[Fact]
198+
public async Task VerifyUser_Should_Call_Admin_Endpoint()
199+
{
200+
var userKey = UserKey.FromString("user-1");
201+
202+
Request.Setup(x => x.SendJsonAsync(It.IsAny<string>(), It.IsAny<object>()))
203+
.ReturnsAsync(Success());
204+
205+
var client = CreateIdentifierClient();
206+
await client.Identifiers.VerifyUserAsync(userKey, new VerifyUserIdentifierRequest());
207+
Request.Verify(x => x.SendJsonAsync($"/auth/admin/users/{userKey.Value}/identifiers/verify", It.IsAny<object>()), Times.Once);
208+
Events.Verify(x => x.PublishAsync(It.IsAny<UAuthStateEventArgs>()), Times.Never);
209+
}
155210
}

tests/CodeBeam.UltimateAuth.Tests.Unit/Client/UAuthClientUserTests.cs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,4 +175,34 @@ public async Task UpdateUser_Should_Call_Admin_Endpoint()
175175
await client.Users.UpdateUserAsync(userKey, new UpdateProfileRequest());
176176
Request.Verify(x => x.SendJsonAsync($"/auth/admin/users/{userKey.Value}/profile/update", It.IsAny<object>()), Times.Once);
177177
}
178+
179+
[Fact]
180+
public async Task Query_Should_Create_Default_Query_When_Null()
181+
{
182+
var response = new PagedResult<UserSummary>(
183+
new List<UserSummary>(),
184+
0, 1, 10, null, false);
185+
186+
Request.Setup(x => x.SendJsonAsync(It.IsAny<string>(), It.IsAny<object>()))
187+
.ReturnsAsync(SuccessJson(response));
188+
189+
var client = CreateUserClient();
190+
await client.Users.QueryAsync(null!);
191+
Request.Verify(x => x.SendJsonAsync("/auth/admin/users/query", It.Is<object>(o => o is UserQuery)), Times.Once);
192+
}
193+
194+
[Fact]
195+
public async Task Query_Should_Use_Given_Query()
196+
{
197+
var query = new UserQuery
198+
{
199+
};
200+
201+
Request.Setup(x => x.SendJsonAsync(It.IsAny<string>(), It.IsAny<object>()))
202+
.ReturnsAsync(Success());
203+
204+
var client = CreateUserClient();
205+
await client.Users.QueryAsync(query);
206+
Request.Verify(x => x.SendJsonAsync("/auth/admin/users/query", It.Is<object>(o => ReferenceEquals(o, query))), Times.Once);
207+
}
178208
}

0 commit comments

Comments
 (0)