コード例 #1
0
        public async void AddAction_ReturnsCCreatedAtRouteResult_WithValidInput()
        {
            _repoMock.Setup(m => m.AddAsync(It.IsAny <Artist>())).ReturnsAsync(new ArtistDetail());
            ArtistController ctrl   = new ArtistController(_repoMock.Object, _loggerMock.Object);
            Artist           input  = CreateValidCreateModel();
            IActionResult    result = await ctrl.Add(input);

            Assert.IsType <CreatedAtRouteResult>(result);
        }
コード例 #2
0
        public async void AddAction_ReturnsBadRequestOBjectResult_WhenRepoThrowsRepositoryException()
        {
            _repoMock.Setup(m => m.AddAsync(It.IsAny <Artist>())).ThrowsAsync(new RepositoryException("Invalid genre"));
            ArtistController ctrl   = new ArtistController(_repoMock.Object, _loggerMock.Object);
            Artist           input  = CreateValidCreateModel();
            IActionResult    result = await ctrl.Add(input);

            Assert.IsType <BadRequestObjectResult>(result);
        }
コード例 #3
0
        public async void AddAction_ReturnsResponseWithMatchingProperties()
        {
            Artist           input          = CreateValidCreateModel();
            int              resultArtistId = 1111;
            var              mock           = SetupMockWithValidReturnValuesForArtistInput(input, resultArtistId);
            ArtistController ctrl           = new ArtistController(mock.Object, _loggerMock.Object);

            IActionResult result = await ctrl.Add(input);

            var createdRestul = result as CreatedAtRouteResult;
            var createdObj    = createdRestul.Value as ArtistDetail;

            Assert.Equal(input.Name, createdObj.Name);
            Assert.Equal(input.PublishedStatus, createdObj.PublishedStatus);
            Assert.Equal(input.BioText, createdObj.BioText);
            Assert.Equal(input.Genres, createdObj.Genres);
            Assert.Equal(resultArtistId, createdObj.Id);
        }
コード例 #4
0
        public async void AddAction_ReturnsCreatedAtRouteResultWithCorrectRouteValues()
        {
            int newId = 1111;

            _repoMock.Setup(m => m.AddAsync(It.IsAny <Artist>())).ReturnsAsync(new ArtistDetail()
            {
                Id = newId
            });
            ArtistController ctrl   = new ArtistController(_repoMock.Object, _loggerMock.Object);
            Artist           input  = CreateValidCreateModel();
            IActionResult    result = await ctrl.Add(input);

            CreatedAtRouteResult createdResult = result as CreatedAtRouteResult;

            Assert.Equal("artist", createdResult.RouteValues["controller"].ToString(), ignoreCase: true);
            Assert.Equal(nameof(ArtistController.Get), createdResult.RouteValues["action"].ToString(), ignoreCase: true);
            Assert.Equal(newId.ToString(), createdResult.RouteValues["id"].ToString());
        }