public void ReplaceUserClaim_WithUserNull_ShouldThrowNotFoundRpcException() { // Arrange var users = TestData.FileStorage.GetUsers(); var user = users.First(); var host = TestHost.WithClaimsFromBearerAuthentication(new Claim(JwtClaimTypes.Subject, user.Id.ToString())); host.Server.CleanupDbContext(); var request = new ReplaceUserClaimRequest { UserId = new UserId(), Claim = new UserClaimDto { Type = CustomClaimTypes.StripeCustomer, Value = "customerId" } }; var client = new IdentityService.IdentityServiceClient(host.CreateChannel()); // Act Assert var func = new Func <Task>(async() => await client.ReplaceUserClaimAsync(request)); func.Should().Throw <RpcException>(); }
public async Task ReplaceUserClaim_ShouldBeOfTypeReplaceUserClaimResponse() { // Arrange var users = TestData.FileStorage.GetUsers(); var user = users.First(); var host = TestHost.WithClaimsFromBearerAuthentication(new Claim(JwtClaimTypes.Subject, user.Id.ToString())); host.Server.CleanupDbContext(); await host.Server.UsingScopeAsync( async scope => { var userService = scope.GetRequiredService <IUserService>(); var result = await userService.CreateAsync(user, "Pass@word1"); result.Succeeded.Should().BeTrue(); }); await host.Server.UsingScopeAsync( async scope => { var userService = scope.GetRequiredService <IUserService>(); var result = await userService.AddClaimAsync( await userService.FindByIdAsync(user.Id.ToString()), new Claim(CustomClaimTypes.StripeCustomer, "customerId")); result.Succeeded.Should().BeTrue(); }); var request = new ReplaceUserClaimRequest { UserId = user.Id.ToString(), Claim = new UserClaimDto { Type = CustomClaimTypes.StripeCustomer, Value = "customerId" } }; var client = new IdentityService.IdentityServiceClient(host.CreateChannel()); // Act var response = await client.ReplaceUserClaimAsync(request); // Assert response.Should().BeOfType <ReplaceUserClaimResponse>(); }