public void CreateValidUserTest() { //Arrange var modelIn = new UserModelIn() { Username = "******", Password = "******", Age = 2 }; var fakeUser = GetFakeUser(); // Inicializar el mock a partir de IUserService var userServiceMock = new Mock <IUserService>(); // Esperamos que se llame el motodo SignUp del servicio userServiceMock.Setup(userService => userService.SignUp(fakeUser)); var controller = new UsersController(userServiceMock.Object); //Act var result = controller.Post(modelIn); var createdResult = result as CreatedAtRouteResult; var modelOut = createdResult.Value as UserModelOut; //Assert Assert.IsNotNull(createdResult); Assert.AreEqual("GetById", createdResult.RouteName); Assert.AreEqual(201, createdResult.StatusCode); Assert.AreEqual(modelIn.Username, modelOut.Username); Assert.AreEqual(modelIn.Age, modelOut.Age); }
public IActionResult Post([FromBody] UserModelIn userIn) { try { if (ModelState.IsValid) { User user = userIn.TransformToEntity(); user = userService.CreateUser(user); UserModelOut userModel = new UserModelOut(user); return(CreatedAtRoute("Get", new { id = user.UserId }, userModel)); } else { return(BadRequest(ModelState)); } } catch (NotUniqueException ex) { return(BadRequest(ex.Message)); } catch (EmailFormatException ex) { return(BadRequest(ex.Message)); } }
public void CreateUserWithoutPermissionUsersController() { var modelIn = new UserModelIn() { UserName = "******", Name = "Alberto", Surname = "Lacaze", Mail = "*****@*****.**", Password = "******", IsAdmin = false }; var userServicesMock = new Mock <IUserServices>(); userServicesMock.Setup(userService => userService.CreateUser(It.IsAny <UserDTO>())).Throws(new InsufficientPermissionException()); ILoginServices loginServices = new LoginServicesMock(roberto); var httpContext = new DefaultHttpContext(); httpContext.Request.Headers["Authorization"] = ""; var controllerContext = new ControllerContext() { HttpContext = httpContext, }; var controller = new UsersController(loginServices, userServicesMock.Object, encounterServices.Object, encounterQueryServices.Object) { ControllerContext = controllerContext, }; var result = controller.CreateUser(modelIn); var createdResult = result as UnauthorizedResult; Assert.IsNotNull(createdResult); Assert.AreEqual(401, createdResult.StatusCode); }
public void CreateUserAllreadyExistsUsersController() { var modelIn = new UserModelIn() { UserName = "******", Name = "Alberto", Surname = "Lacaze", Mail = "*****@*****.**", Password = "******", IsAdmin = true }; var fakeUser = new UserDTO() { UserName = "******", Surname = "Avila", Name = "Pepe", Password = "******", Mail = "*****@*****.**", IsAdmin = true }; var userServicesMock = new Mock <IUserServices>(); userServicesMock.Setup(userService => userService.CreateUser(It.IsAny <UserDTO>())).Throws(new ServicesException()); ILoginServices loginServices = new LoginServicesMock(pablo); var httpContext = new DefaultHttpContext(); httpContext.Request.Headers["Authorization"] = ""; var controllerContext = new ControllerContext() { HttpContext = httpContext, }; var controller = new UsersController(loginServices, userServicesMock.Object, encounterServices.Object, encounterQueryServices.Object) { ControllerContext = controllerContext, }; userServicesMock.Verify(m => m.CreateUser(It.IsAny <UserDTO>()), Times.AtMostOnce()); var result = controller.CreateUser(modelIn); var createdResult = result as BadRequestObjectResult; Assert.IsNotNull(createdResult); Assert.AreEqual(400, createdResult.StatusCode); }
public void CreateValidUserTest() { var modelIn = new UserModelIn() { Name = "Juan", LastName = " Perez", Email = "*****@*****.**", UserName = "******", Password = "******", IsAdministrator = true }; var fakeUser = new User("Juan", "Perez", "Alberto", "pass", "*****@*****.**", true); fakeUser.UserId = 1; var modelOut = new UserModelOut(fakeUser); var userServiceMock = new Mock <IUserService>(); userServiceMock.Setup(userService => userService.CreateUser(fakeUser)); var controller = new UsersController(userServiceMock.Object); var result = controller.Post(modelIn); var createdResult = result as CreatedAtRouteResult; var modelOut2 = createdResult.Value as UserModelOut; userServiceMock.VerifyAll(); Assert.IsNotNull(createdResult); Assert.AreEqual("Get", createdResult.RouteName); Assert.AreEqual(201, createdResult.StatusCode); }
public void CreateBadModelInUsersController() { var modelIn = new UserModelIn(); var userService = new Mock <IUserServices>(); ILoginServices loginServices = new LoginServicesMock(pablo); var httpContext = new DefaultHttpContext(); httpContext.Request.Headers["Authorization"] = ""; var controllerContext = new ControllerContext() { HttpContext = httpContext, }; var controller = new UsersController(loginServices, userService.Object, encounterServices.Object, encounterQueryServices.Object) { ControllerContext = controllerContext, }; controller.ModelState.AddModelError("", "Error"); var result = controller.CreateUser(modelIn); var createdResult = result as BadRequestResult; Assert.IsNotNull(createdResult); Assert.AreEqual(400, createdResult.StatusCode); }
public IActionResult Post([FromBody] UserModelIn userIn) { if (ModelState.IsValid) { try { var user = mapper.Map <UserModelIn, UserEntity>(userIn); var id = userLogic.Add(user); var addedUser = userLogic.GetById(id); var addedUserOut = mapper.Map <UserEntity, UserModelOut>(addedUser); return(Created("Posted succesfully", addedUserOut)); } catch (ArgumentException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { return(BadRequest(ex.Message)); } } else { return(BadRequest(ModelState)); } }
public IActionResult Put(int id, [FromBody] UserModelIn userIn) { if (ModelState.IsValid) { try { userIn.Id = id; var user = mapper.Map <UserModelIn, UserEntity>(userIn); userLogic.Update(user); var updatedUser = userLogic.GetById(id); var updatedUserModelOut = mapper.Map <UserEntity, UserModelOut>(updatedUser); return(Created("Put succesfully", updatedUserModelOut)); } catch (ArgumentException e) { return(BadRequest(e.Message)); } catch (Exception ex) { return(BadRequest(ex.Message)); } } else { return(BadRequest(ModelState)); } }
public void DeleteUserWithoutPermissionUsersController() { var modelIn = new UserModelIn(); var userServicesMock = new Mock <IUserServices>(); string id = "pepe"; userServicesMock.Setup(us => us.DeleteUser(id)).Throws(new InsufficientPermissionException()); ILoginServices loginServices = new LoginServicesMock(pablo); var httpContext = new DefaultHttpContext(); httpContext.Request.Headers["Authorization"] = ""; var controllerContext = new ControllerContext() { HttpContext = httpContext, }; var controller = new UsersController(loginServices, userServicesMock.Object, encounterServices.Object, encounterQueryServices.Object) { ControllerContext = controllerContext, }; userServicesMock.Verify(m => m.DeleteUser(id), Times.AtMostOnce()); var result = controller.DeleteUser(id); var createdResult = result as UnauthorizedResult; Assert.IsNotNull(createdResult); Assert.AreEqual(401, createdResult.StatusCode); }
private IActionResult TryAddUser(UserModelIn user) { UserDto toAdd = BuildUser(user); UserDto added = userService.AddUser(toAdd); UserModelOut modelOut = CreateModelOut(added); return(CreatedAtRoute("GetUserById", new { username = toAdd.username }, modelOut)); }
private IActionResult TryToAddUser(UserModelIn userModel) { UserDTO user = userModel.ToServicesDTO(); userServices.CreateUser(user); var addedUser = new UserModelOut(user); return(CreatedAtRoute("GetUser", new { userId = addedUser.UserName }, addedUser)); }
public void SetUp() { service = new Mock <IUserService>(); auth = new Mock <IAuthenticationService>(); controller = new UsersController(service.Object, auth.Object, new ImageService("aPath")); input = new UserModelIn() { Name = "name", Surname = "surname", Username = "******", Password = "******", Email = "*****@*****.**", IsAdmin = false }; controller.ControllerContext = GetFakeControllerContext(); }
public void Put_Expects_BadRequest() { var modelIn = new UserModelIn(); userController.ModelState.AddModelError("", "Error"); var result = userController.Put(0, modelIn); var createdResult = result as BadRequestObjectResult; Assert.IsNotNull(createdResult); Assert.AreEqual(400, createdResult.StatusCode); }
private UserDto BuildUser(UserModelIn modelIn) { UserDto built = new UserDto() { name = modelIn.Name, surname = modelIn.Surname, username = modelIn.Username, password = modelIn.Password, email = modelIn.Email, isAdmin = modelIn.IsAdmin }; return(built); }
public IActionResult Post([FromBody] UserModelIn user) { IActionResult toReturn; if (ModelState.IsValid) { toReturn = AddValidUser(user); } else { toReturn = BadRequest(ModelState); } return(toReturn); }
private IActionResult AddValidUser(UserModelIn user) { IActionResult result; try { SetSession(); result = TryAddUser(user); } catch (ServiceException e) { result = errors.GenerateError(e); } return(result); }
public IActionResult Post([FromBody] UserModelIn userIn) { if (ModelState.IsValid) { var user = new User(userIn.Username, userIn.Password, userIn.Age); userService.SignUp(user); var addedUser = new UserModelOut() { Id = user.Id, Username = userIn.Username, Age = userIn.Age }; return(CreatedAtRoute("GetById", new { id = addedUser.Id }, addedUser)); } else { return(BadRequest(ModelState)); } }
public void CreateFailedUserTest() { //Arrange var modelIn = new UserModelIn(); IUserService userService = new UserService(); var controller = new UsersController(userService); //We need to force the error in de ModelState controller.ModelState.AddModelError("", "Error"); var result = controller.Post(modelIn); //Act var createdResult = result as BadRequestObjectResult; //Assert Assert.IsNotNull(createdResult); Assert.AreEqual(400, createdResult.StatusCode); }
public void CreateFailedUserTest() { var modelIn = new UserModelIn(); var userService = new Mock <IUserService>(); var controller = new UsersController(userService.Object); controller.ModelState.AddModelError("", "Error"); var result = controller.Post(modelIn); var createdResult = result as BadRequestObjectResult; Assert.IsNotNull(createdResult); Assert.AreEqual(400, createdResult.StatusCode); }
public IActionResult CreateUser(UserModelIn userModel) { if (!ModelState.IsValid) { return(BadRequest()); } try { CreateSession(); return(TryToAddUser(userModel)); } catch (InsufficientPermissionException) { return(Unauthorized()); } catch (ServicesException e) { return(BadRequest(e.Message)); } }
public void TestInitialize() { webApiMapper = new WebApiMapper(); user = new UserEntity { Id = 1, CompleteName = "Nahuel Kleiman", Mail = "*****@*****.**", Password = "******", Requests = new List <RequestEntity>(), IsAdmin = false }; request = new RequestEntity { Id = 1, Detail = "Un contenedor roto en la esquina de Av. Italia y Bolivia", ApplicantName = "Nahuel Kleiman", Mail = "*****@*****.**", Phone = "098555666", RequestTypeEntityId = 1 }; userModelOut = new UserModelOut() { Id = 1, CompleteName = "Nahuel Kleiman", Mail = "*****@*****.**", Password = "******", IsAdmin = false }; userModelIn = new UserModelIn() { Id = 1, CompleteName = "Nahuel Kleiman", Mail = "*****@*****.**", Password = "******", IsAdmin = false }; userLogicMock = new Mock <IUserLogic>(); userController = new UserController(userLogicMock.Object, webApiMapper); }
public void CreateValidUserTest() { //Arrange var modelIn = new UserModelIn() { Username = "******", Password = "******", Age = 2 }; IUserService userService = new UserService(); var controller = new UsersController(userService); var result = controller.Post(modelIn); //Act var createdResult = result as CreatedAtRouteResult; var modelOut = createdResult.Value as UserModelOut; //Assert Assert.IsNotNull(createdResult); Assert.AreEqual("GetById", createdResult.RouteName); Assert.AreEqual(201, createdResult.StatusCode); Assert.AreEqual(modelIn.Username, modelOut.Username); Assert.AreEqual(modelIn.Age, modelOut.Age); }
public void UpdateUserDataInvalidModelInUsersController() { var modelIn = new UserModelIn(); var userServicesMock = new Mock <IUserServices>(); string id = "Pablo"; userServicesMock.Setup(us => us.ModifyUser(It.IsAny <UserDTO>())).Throws(new ServicesException()); ILoginServices loginServices = new LoginServicesMock(pablo); var httpContext = new DefaultHttpContext(); httpContext.Request.Headers["Authorization"] = ""; var controllerContext = new ControllerContext() { HttpContext = httpContext, }; var controller = new UsersController(loginServices, userServicesMock.Object, encounterServices.Object, encounterQueryServices.Object) { ControllerContext = controllerContext, }; controller.ModelState.AddModelError("", ""); var result = controller.ModifyUser(id, new UserUpdateModelIn() { Name = "", Surname = "UserTest", Password = "", Mail = "*****@*****.**" }); userServicesMock.Verify(m => m.ModifyUser(It.IsAny <UserDTO>()), Times.AtMostOnce()); var createdResult = result as BadRequestResult; Assert.IsNotNull(createdResult); Assert.AreEqual(400, createdResult.StatusCode); }
public void CreateUserOkUsersController() { var modelIn = new UserModelIn() { UserName = "******", Name = "Alberto", Surname = "Lacaze", Mail = "*****@*****.**", Password = "******", IsAdmin = true }; var fakeUser = new UserDTO() { UserName = "******", Surname = "Avila", Name = "Pepe", Password = "******", Mail = "*****@*****.**", IsAdmin = true }; var userServicesMock = new Mock <IUserServices>(); userServicesMock.Setup(userService => userService.CreateUser(fakeUser)); ILoginServices loginServices = new LoginServicesMock(pablo); var httpContext = new DefaultHttpContext(); httpContext.Request.Headers["Authorization"] = ""; var controllerContext = new ControllerContext() { HttpContext = httpContext, }; var controller = new UsersController(loginServices, userServicesMock.Object, encounterServices.Object, encounterQueryServices.Object) { ControllerContext = controllerContext, }; userServicesMock.Verify(m => m.CreateUser(fakeUser), Times.AtMostOnce()); var result = controller.CreateUser(modelIn); var createdResult = result as CreatedAtRouteResult; var modelOut = createdResult.Value as UserModelOut; Assert.IsNotNull(createdResult); Assert.AreEqual("GetUser", createdResult.RouteName); Assert.AreEqual(201, createdResult.StatusCode); Assert.AreEqual(modelIn.UserName, modelOut.UserName); }
public IActionResult Put(int id, [FromBody] UserModelIn userToUpdate) { try { if (ModelState.IsValid) { User user = userToUpdate.TransformToEntity(); User userUpdated = userService.UpdateUser(id, user); return(Ok("El usuario ha sido modificado ")); } else { return(BadRequest(ModelState)); } } catch (ArgumentException ex) { return(BadRequest(ex.Message)); } catch (EmailFormatException ex) { return(BadRequest(ex.Message)); } catch (NotUniqueException ex) { return(BadRequest(ex.Message)); } }
public void CreateFailedUserTest() { //Arrange. var modelIn = new UserModelIn() { Name = "name", Surname = "surname", Password = "******", IsAdmin = true }; //We need to force the error in de ModelState. controller.ModelState.AddModelError("", "Error"); //Act. IActionResult result = controller.Post(modelIn); BadRequestObjectResult badRequest = result as BadRequestObjectResult; //Assert. service.Verify(us => us.AddUser(It.IsAny <UserDto>()), Times.Never); Assert.IsNotNull(result); Assert.IsNotNull(badRequest); Assert.AreEqual(400, badRequest.StatusCode); }