public async Task ShouldThrowExceptionMissingPermission(string roleName) { Mock <UserManager <User> > userManagerMock = UserManagerMoq.Get(); ClaimsPrincipal claimsPrincipal = new ClaimsPrincipalBuilder().Build(); Command cmd = new Command { RoleName = roleName, UserId = Guid.NewGuid().ToString(), ClaimsPrincipal = claimsPrincipal }; UnassignRoleException unassignRoleException = await Assert.ThrowsAsync <UnassignRoleException>(async() => await new Handler(userManagerMock.Object).Handle(cmd, CancellationToken.None)); Assert.Equal(PolishReadableMessage.Assign.DontHavePermissionForUnassignThisRole, unassignRoleException.Message); userManagerMock.Verify(x => x.FindByIdAsync(It.IsAny <string>()), Times.Never); userManagerMock.Verify(x => x.RemoveFromRoleAsync(It.IsAny <User>(), It.IsAny <string>()), Times.Never); }
public async Task ShouldThrowExceptionUserNotFound() { Mock <UserManager <User> > userManagerMock = UserManagerMoq.Get(); ClaimsPrincipal claimsPrincipal = new ClaimsPrincipalBuilder().AddPermissionClaim(Permissions.Anchors.Remove).Build(); userManagerMock.Setup(x => x.FindByIdAsync(It.IsAny <string>())).ReturnsAsync((User)null); Command cmd = new Command { RoleName = Roles.Anchor, UserId = Guid.NewGuid().ToString(), ClaimsPrincipal = claimsPrincipal }; UnassignRoleException unassignRoleException = await Assert.ThrowsAsync <UnassignRoleException>(async() => await new Handler(userManagerMock.Object).Handle(cmd, CancellationToken.None)); Assert.Equal(PolishReadableMessage.UserNotFound, unassignRoleException.Message); userManagerMock.Verify(x => x.FindByIdAsync(It.IsAny <string>()), Times.Once); userManagerMock.Verify(x => x.RemoveFromRoleAsync(It.IsAny <User>(), It.IsAny <string>()), Times.Never); }