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); }
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); }
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); }
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()); }