Example #1
0
        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);
        }
Example #5
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
 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));
     }
 }
Example #9
0
        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);
        }
Example #10
0
 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));
     }
 }
Example #11
0
        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);
        }