Exemple #1
0
        public async Task AddUserToRole_UserAuthorizedAndValidUserNameAndValidRoleId_ReturnsOKResult()
        {
            //setup
            _roleManager.Setup(r => r.FindByIdAsync(It.IsAny <string>())).ReturnsAsync(
                new IdentityRole
            {
                Name = "Admin"
            });

            User userInDb = A.User.WithUserName("user1");

            _userManagerMock.Setup(u => u.FindByNameAsync("user1"))
            .ReturnsAsync(userInDb);

            _userManagerMock.Setup
                (r => r.IsInRoleAsync(It.IsAny <User>(), It.IsAny <string>()))
            .ReturnsAsync(false);

            _userManagerMock.Setup(um => um.AddToRoleAsync(userInDb, "user1"));

            _httpContext.Setup(d => d.User.Identity.IsAuthenticated).Returns(true);
            _administrationController.ControllerContext = new ControllerContext
            {
                HttpContext = _httpContext.Object
            };

            var resultFromController = await _administrationController.AddUserToRole("string", "user1");

            var okResult = resultFromController as OkResult;

            //Assert
            okResult.Should().NotBeNull();
            okResult.StatusCode.Should().Be(StatusCodes.Status200OK);
        }