示例#1
0
        public ActionResult UpdateSport([FromBody] SportDTO data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                var sport = mapper.Map <Sport>(data);
                sportBusinessLogic.Update(sport);
                return(Ok(mapper.Map <SportDTO>(sport)));
            }
            catch (SportDoesNotExistException e)
            {
                return(NotFound(e.Message));
            }
            catch (SportException e)
            {
                return(BadRequest(e.Message));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
        public void UpdateSportOkTest()
        {
            Sport sport = new Sport()
            {
                Id = 1, Name = "Futbol"
            };
            List <Sport> returnedSport = new List <Sport> {
                sport
            };

            mockSportRepo.Setup(x => x.Insert(It.IsAny <Sport>())).Callback <Sport>(x => sportList.Add(sport));
            mockSportRepo.Setup(x => x.Update(It.IsAny <Sport>())).Callback <Sport>(x => sportList.First().Name = sport.Name);
            mockSportRepo.Setup(r => r.Get(It.IsAny <Expression <Func <Sport, bool> > >(), null, "Teams")).Returns(returnedSport);
            //repository.Get(s => s.Id == id, null, "Teams")
            sportBL.Add(sport);
            sport.Name = "UpdatedName";
            sportBL.Update(sport);
            mockSportRepo.Verify(x => x.Insert(It.IsAny <Sport>()), Times.Once());
            mockSportRepo.Verify(x => x.Update(It.IsAny <Sport>()), Times.Once());
            mockSportRepo.Verify(x => x.Save(), Times.AtLeastOnce());
        }