예제 #1
0
        public async void Manage_Post_ReturnsRedirectToActionIndex(string UserID)
        {
            //Arrange
            var userRole1 = new Prestar.Models.ManageUserRolesViewModel
            {
                RoleId   = (await RoleManager.FindByNameAsync("Moderador")).Id,
                RoleName = "Moderador"
            };
            var userRole2 = new Prestar.Models.ManageUserRolesViewModel
            {
                RoleId   = (await RoleManager.FindByNameAsync("Prestador")).Id,
                RoleName = "Prestador"
            };

            var rolesList = new List <ManageUserRolesViewModel>()
            {
                userRole1, userRole2
            };

            _ = await UserManager.FindByIdAsync(UserID);

            var controller = new UserAccessController(UserManager, RoleManager, Context, EmailSender);

            controller.ControllerContext.HttpContext = new DefaultHttpContext {
                User = ModeradorLog
            };

            // Act
            var result = await controller.Manage(rolesList, UserID);

            var viewResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("Index", viewResult.ActionName);
            _ = await controller.Index(1);
        }
예제 #2
0
        public async void DeleteConfirmed_ReturnsRedirectToActionIndex(string UserID)
        {
            var controller = new UserAccessController(UserManager, RoleManager, Context, EmailSender);

            controller.ControllerContext.HttpContext = new DefaultHttpContext {
                User = ModeradorLog
            };
            var deleteUser = Context.Users.Find(UserID);

            var result = await controller.DeleteConfirmed(UserID);

            var viewResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Equal("Index", viewResult.ActionName);

            //Confirmar o Indice
            var resultI = await controller.Index(1);

            var viewResultI = Assert.IsType <ViewResult>(resultI);
            var modelI      = Assert.IsAssignableFrom <IEnumerable <UserAccessViewModel> >(viewResultI.ViewData.Model);

            Assert.NotNull(modelI);
            Assert.Equal(Context.Users.Count(), modelI.Count());

            //Add Removed Request
            Context.Users.Add(deleteUser);
        }
예제 #3
0
        public async void GetUserRoles_ReturnsListWithModeratorRole()
        {
            var controller = new UserAccessController(UserManager, RoleManager, Context, EmailSender);
            var result     = await controller.GetUserRoles(Moderador);

            Assert.NotNull(result);
            Assert.Contains("Moderador", result);
        }
예제 #4
0
        public async void Index_ReturnsViewResult()
        {
            var controller = new UserAccessController(UserManager, RoleManager, Context, EmailSender);

            controller.ControllerContext.HttpContext = new DefaultHttpContext {
                User = ModeradorLog
            };
            var result = await controller.Index(1);

            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsAssignableFrom <IEnumerable <UserAccessViewModel> >(viewResult.ViewData.Model);

            Assert.NotNull(model);
            Assert.Equal(Context.Users.Count(), model.Count());
        }
예제 #5
0
        public async void Delete_ReturnsViewResult(string UserID)
        {
            //Arrange
            var controller = new UserAccessController(UserManager, RoleManager, Context, EmailSender);

            controller.ControllerContext.HttpContext = new DefaultHttpContext {
                User = ModeradorLog
            };
            //Act
            var result = await controller.Delete(UserID);

            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsAssignableFrom <User>(viewResult.ViewData.Model);

            //Assert
            Assert.Equal(Context.Users.Find(UserID).Id, model.Id);
            Assert.NotNull(model);
        }
예제 #6
0
        public async void Manage_Get_ReturnsViewResultNotFound(string UserID)
        {
            //Arrange
            var controller = new UserAccessController(UserManager, RoleManager, Context, EmailSender);

            controller.ControllerContext.HttpContext = new DefaultHttpContext {
                User = ModeradorLog
            };

            //Act
            var result = await controller.Manage(UserID);

            //Assert

            var viewResult = Assert.IsType <ViewResult>(result);

            Assert.Equal("/Views/Shared/NotFound.cshtml", viewResult.ViewName);

            //Confirmar o Indice
            var resultI = await controller.Index(1);

            _ = Assert.IsType <ViewResult>(resultI);
        }
예제 #7
0
        public async void Manage_Get_ReturnsViewResult(string UserID)
        {
            //Arrange
            var controller = new UserAccessController(UserManager, RoleManager, Context, EmailSender);
            var user       = await UserManager.FindByIdAsync(UserID);

            _ = await UserManager.GetRolesAsync(user);

            controller.ControllerContext.HttpContext = new DefaultHttpContext {
                User = ModeradorLog
            };

            //Act
            var result = await controller.Manage(UserID);


            Assert.IsType <ViewResult>(result);
            var viewResult = Assert.IsType <ViewResult>(result);
            var model      = Assert.IsAssignableFrom <List <ManageUserRolesViewModel> >(viewResult.ViewData.Model);

            //Assert
            Assert.NotNull(model);
        }
예제 #8
0
        public async void DeleteConfirmed_ReturnsNotFound(string UserID)
        {
            var controller = new UserAccessController(UserManager, RoleManager, Context, EmailSender);

            controller.ControllerContext.HttpContext = new DefaultHttpContext {
                User = ModeradorLog
            };

            var result = await controller.DeleteConfirmed(UserID);

            var viewResult = Assert.IsType <ViewResult>(result);

            Assert.Equal("/Views/Shared/NotFound.cshtml", viewResult.ViewName);

            //Confirmar o Indice
            var resultI = await controller.Index(1);

            var viewResultI = Assert.IsType <ViewResult>(resultI);
            var modelI      = Assert.IsAssignableFrom <IEnumerable <UserAccessViewModel> >(viewResultI.ViewData.Model);

            Assert.NotNull(modelI);
            Assert.Equal(Context.Users.Count(), modelI.Count());
        }
예제 #9
0
        public async void GetUserRoles_ReturnsEmptyList()
        {
            //Arrange
            var utilizador = new User {
                Id                  = "5",
                FirstName           = "Inês",
                LastName            = "Botelho",
                Birthdate           = new DateTime(2002, 10, 31),
                AccountCreationDate = DateTime.Now,
                LastSeen            = DateTime.Now,
                Email               = "*****@*****.**",
                EmailConfirmed      = true,
                UserName            = "******"
            };

            var controller = new UserAccessController(UserManager, RoleManager, Context, EmailSender);

            //Act
            var result = await controller.GetUserRoles(utilizador);

            //Assert
            Assert.NotNull(result);
            Assert.True(result.Count == 0);
        }
예제 #10
0
        public void DefaultClaims()
        {
            List <Claim> Default_Claims = UserAccessController.SetDefaultClaims();

            Assert.NotEmpty(Default_Claims);
        }