예제 #1
0
        public GameShowDto AddNewGameShow(GameShowCreationDto newGameShow)
        {
            int id = Int32.Parse(GameShows.Max((gameshow) => gameshow.Id)) + 1;

            GameShowDto gameShowToAdd = new GameShowDto(id.ToString(), newGameShow.Title, newGameShow.Channel, newGameShow.Year);

            GameShows.Add(gameShowToAdd);
            return(gameShowToAdd);
        }
예제 #2
0
        public IActionResult PostNewGameShow([FromBody] GameShowCreationDto newGameShow)
        {
            GameShowDto createdGameShow = myData.AddNewGameShow(newGameShow);

            if (ModelState.IsValid)
            {
                return(CreatedAtAction(nameof(GetGameShowsById), new { id = createdGameShow.Id }, createdGameShow));
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
        public void PostToCreateGameShowIsValid()
        {
            var mockNewGameShow     = new GameShowCreationDto("Bulls Eye", "ITV", 1924);
            var mockCreatedGameShow = new GameShowDto("2", "Bulls Eye", "ITV", 1924);
            var mockRepo            = new Mock <IDataStore>();

            mockRepo.Setup((p) => p.AddNewGameShow(mockNewGameShow)).Returns(mockCreatedGameShow);

            var           sut    = new GameShowsController(mockRepo.Object);
            IActionResult result = sut.PostNewGameShow(mockNewGameShow);

            Assert.IsType <CreatedAtActionResult>(result);
        }
        public void GameShowAPIById_Returns200()
        {
            //Arrange
            var         mockRepo     = new Mock <IDataStore>();
            GameShowDto mockGameShow = new GameShowDto("1", "The Generation Game", "BBC1", 1971);

            mockRepo.Setup((repo) => repo.GetGameShowsById("1"))
            .Returns(mockGameShow);

            var sut = new GameShowsController(mockRepo.Object);

            //Act
            IActionResult result = sut.GetGameShowsById("1");

            // Asset
            Assert.IsType <OkObjectResult>(result);
        }