diff --git a/server.tests/v1/unitTests/SeasonsControllerUnitTests.cs b/server.tests/v1/unitTests/SeasonsControllerUnitTests.cs index 70c6d74..327372d 100644 --- a/server.tests/v1/unitTests/SeasonsControllerUnitTests.cs +++ b/server.tests/v1/unitTests/SeasonsControllerUnitTests.cs @@ -67,13 +67,47 @@ namespace server.tests.v1.unitTests [Fact] public async Task GetSeasonByNumberAsync_ValidSeasonNumber_Returns200StatusCodeWithSeason() { - throw new NotImplementedException(); + var seasonNumber = 1; + + _mockRepo + .Setup(repo => repo.GetSeasonByNumberAsync(seasonNumber)) + .ReturnsAsync(new Season()); + + var response = await _controller.GetSeasonByNumberAsync(seasonNumber) as ObjectResult; + + var season = response.Value; + + _mockRepo.Verify(repo => repo.GetSeasonByNumberAsync(It.IsAny()), Times.Once()); + + response.Should().NotBeNull(); + response.Should().BeOfType(); + response.StatusCode.Should().Be((int)HttpStatusCode.OK); + + season.Should().NotBeNull(); + season.Should().BeOfType(); } [Fact] public async Task GetSeasonByNumberAsync_ValidSeasonNumberForNonExistentSeason_Returns404StatusCodeWithProblemDetails() { - throw new NotImplementedException(); + var seasonNumber = 20; + + _mockRepo + .Setup(repo => repo.GetSeasonByNumberAsync(seasonNumber)) + .ReturnsAsync(null as Season); + + var response = await _controller.GetSeasonByNumberAsync(seasonNumber) as ObjectResult; + + var details = response.Value; + + _mockRepo.Verify(repo => repo.GetSeasonByNumberAsync(It.IsAny()), Times.Once()); + + response.Should().NotBeNull(); + response.Should().BeOfType(); + response.StatusCode.Should().Be((int)HttpStatusCode.NotFound); + + details.Should().NotBeNull(); + details.Should().BeOfType(); } [Fact]