public void CreateSportAlreadyExistingTest() { //Arrange. Exception internalEx = new SportAlreadyExistsException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.ENTITY_ALREADY_EXISTS); sportsService.Setup(r => r.AddSport(It.IsAny <SportDto>())).Throws(toThrow); SportModelIn input = new SportModelIn() { Name = "Soccer" }; //Act. IActionResult result = controllerToTest.Post(input); BadRequestObjectResult badRequest = result as BadRequestObjectResult; ErrorModelOut error = badRequest.Value as ErrorModelOut; //Assert. sportsService.Verify(r => r.AddSport(It.IsAny <SportDto>()), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(badRequest); Assert.AreEqual(400, badRequest.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }
private SportDto BuildSportDto(SportModelIn modelIn) { return(new SportDto() { name = modelIn.Name, isTwoTeams = modelIn.IsTwoTeams }); }
private IActionResult TryAddSport(SportModelIn modelIn) { SportDto data = BuildSportDto(modelIn); SportDto added = sports.AddSport(data); SportModelOut modelOut = CreateModelOut(added); IActionResult result = CreatedAtRoute("GetSportById", new { name = added.name }, modelOut); return(result); }
private IActionResult CreateValidSport(SportModelIn modelIn) { IActionResult result; try { SetSession(); result = TryAddSport(modelIn); } catch (ServiceException e) { result = errors.GenerateError(e); } return(result); }
public void CreateInvalidSportTest() { SportModelIn input = new SportModelIn(); controllerToTest.ModelState.AddModelError("", "Error"); IActionResult result = controllerToTest.Post(input); BadRequestObjectResult createdResult = result as BadRequestObjectResult; sportsService.Verify(r => r.AddSport(It.IsAny <SportDto>()), Times.Never); Assert.IsNotNull(createdResult); Assert.AreEqual(400, createdResult.StatusCode); }
public IActionResult Post([FromBody] SportModelIn modelIn) { IActionResult result; if (ModelState.IsValid) { result = CreateValidSport(modelIn); } else { result = BadRequest(ModelState); } return(result); }
public void CreateFailedUserTest() { var modelIn = new SportModelIn(); var userService = new Mock <ISportService>(); var controller = new SportsController(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 Post([FromBody] SportModelIn sportIn) { try { if (ModelState.IsValid) { Sport sport = sportIn.TransformToEntity(); sport = sportService.CreateSport(sport); SportModelOut modelOut = new SportModelOut(sport) ; return(CreatedAtRoute("GetSport", new { id = sport.SportId }, modelOut)); } else { return(BadRequest(ModelState)); } } catch (NotUniqueException ex) { return(BadRequest(ex.Message)); } }
public void CreateSportTest() { //Arrange. SportModelIn input = new SportModelIn() { Name = "Tennis", IsTwoTeams = true }; //Act. IActionResult result = controllerToTest.Post(input); CreatedAtRouteResult createdResult = result as CreatedAtRouteResult; SportModelOut output = createdResult.Value as SportModelOut; //Assert. sportsService.Verify(r => r.AddSport(It.IsAny <SportDto>()), Times.Once); Assert.IsNotNull(result); Assert.IsNotNull(createdResult); Assert.AreEqual(createdResult.StatusCode, 201); Assert.AreEqual(createdResult.RouteName, "GetSportById"); Assert.IsNotNull(output); Assert.AreEqual(output.Name, input.Name); }
public IActionResult PutSport(int id, [FromBody] SportModelIn modelIn) { try { if (ModelState.IsValid) { Sport sport = modelIn.TransformToEntity(); sport = sportService.UpdateSport(id, sport); return(Ok("El deporte ha sido actualizado")); } else { return(BadRequest(ModelState)); } } catch (NotExistsException ex) { return(BadRequest(ex.Message)); } catch (NotUniqueException ex) { return(BadRequest(ex.Message)); } }
public void CreateSportNoDataAccessTest() { //Arrange. Exception internalEx = new DataInaccessibleException(); Exception toThrow = new ServiceException(internalEx.Message, ErrorType.DATA_INACCESSIBLE); sportsService.Setup(r => r.AddSport(It.IsAny <SportDto>())).Throws(toThrow); SportModelIn input = new SportModelIn() { Name = "Soccer" }; //Act. IActionResult result = controllerToTest.Post(input); ObjectResult noData = result as ObjectResult; ErrorModelOut error = noData.Value as ErrorModelOut; //Assert. Assert.IsNotNull(result); Assert.IsNotNull(noData); Assert.AreEqual(500, noData.StatusCode); Assert.IsNotNull(error); Assert.AreEqual(toThrow.Message, error.ErrorMessage); }