Skip to content

Commit

Permalink
test: test change-role method
Browse files Browse the repository at this point in the history
  • Loading branch information
mobinbr committed Aug 20, 2024
1 parent 746c8ad commit 845907f
Showing 1 changed file with 65 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -245,4 +245,69 @@ public async Task Login_WhenLoginSucceeds_ReturnsSuccessResult()
Assert.Equal(loginUserResponse.Email, loginResponse.Email);
Assert.Equal(loginUserResponse.Token, loginResponse.Token);
}

// ChangeRole Tests
[Fact]
public async Task ChangeRole_WhenRoleDoesNotExist_ReturnsFailResult()
{
// Arrange
var changeRoleRequest = new ChangeRoleRequest
{
UserName = "MobinBarfi",
Role = "NonExistentRole"
};

_roleManagerRepository.RoleExistsAsync(changeRoleRequest.Role).Returns(Task.FromResult(false));

// Act
var result = await _identityService.ChangeRole(changeRoleRequest);

// Assert
Assert.False(result.Succeed);
Assert.Equal("role does not exist", result.Message);
}

[Fact]
public async Task ChangeRole_WhenUserDoesNotExist_ReturnsFailResult()
{
// Arrange
var changeRoleRequest = new ChangeRoleRequest
{
UserName = "NonExistentUser",
Role = "Admin"
};

_roleManagerRepository.RoleExistsAsync(changeRoleRequest.Role).Returns(Task.FromResult(true));
_userManagerRepository.FindByNameAsync(changeRoleRequest.UserName).Returns(Task.FromResult<AppUser?>(null));

// Act
var result = await _identityService.ChangeRole(changeRoleRequest);

// Assert
Assert.False(result.Succeed);
Assert.Equal("Invalid username", result.Message);
}

[Fact]
public async Task ChangeRole_WhenOperationSucceeds_ReturnsSuccessResult()
{
// Arrange
var changeRoleRequest = new ChangeRoleRequest
{
UserName = "MobinBarfi",
Role = "Admin"
};

var appUser = new AppUser();

_roleManagerRepository.RoleExistsAsync(changeRoleRequest.Role).Returns(Task.FromResult(true));
_userManagerRepository.FindByNameAsync(changeRoleRequest.UserName).Returns(Task.FromResult(appUser));
_userManagerRepository.ChangeRoleAsync(appUser, changeRoleRequest.Role).Returns(Task.FromResult(IdentityResult.Success));

// Act
var result = await _identityService.ChangeRole(changeRoleRequest);

// Assert
Assert.True(result.Succeed);
}
}

0 comments on commit 845907f

Please sign in to comment.