Пример #1
0
        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);
        }
Пример #2
0
        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);
        }