From 6c282e050f08363bf329d740d8500a9d5ee14b16 Mon Sep 17 00:00:00 2001 From: Mobin Barfi Date: Tue, 20 Aug 2024 19:22:11 +0330 Subject: [PATCH] test: test get-users in identity service --- .../DomainService/IdentityServiceTests.cs | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/test/Application.UnitTests/Services/DomainService/IdentityServiceTests.cs b/test/Application.UnitTests/Services/DomainService/IdentityServiceTests.cs index 14209d0..20fc129 100644 --- a/test/Application.UnitTests/Services/DomainService/IdentityServiceTests.cs +++ b/test/Application.UnitTests/Services/DomainService/IdentityServiceTests.cs @@ -310,4 +310,43 @@ public async Task ChangeRole_WhenOperationSucceeds_ReturnsSuccessResult() // Assert Assert.True(result.Succeed); } + + // GetUsers Tests + [Fact] + public async Task GetUsersAsync_ReturnsUserListWithRoles() + { + // Arrange + var users = new List + { + new AppUser { UserName = "User1", Email = "user1@example.com" }, + new AppUser { UserName = "User2", Email = "user2@example.com" } + }; + + var roles = new List { "Admin", "User" }; + + var userResponses = new List + { + new GetUserResponse { UserName = "User1", Email = "user1@example.com", Role = "Admin" }, + new GetUserResponse { UserName = "User2", Email = "user2@example.com", Role = "User" } + }; + + // Mock the repository methods + _userManagerRepository.GetUsersAsync() + .Returns(Task.FromResult(users)); + + _userManagerRepository.GetRoleAsync(users[0]) + .Returns(Task.FromResult(roles[0])); + + _userManagerRepository.GetRoleAsync(users[1]) + .Returns(Task.FromResult(roles[1])); + + // Act + var result = await _identityService.GetUsersAsync(); + + // Assert + Assert.NotNull(result); + Assert.Equal(2, result.Count); + Assert.Contains(result, r => r.UserName == "User1" && r.Role == "Admin"); + Assert.Contains(result, r => r.UserName == "User2" && r.Role == "User"); + } } \ No newline at end of file