public async void ReturnPoolById(int poolId, bool poolFound, [Frozen] Mock <IPoolRepository> mockRepository, IFixture fixture, PoolsController sut) { mockRepository.Setup(r => r.GetPoolById(It.Is <int>(i => i % 2 == 0))).ReturnsAsync(fixture.Build <Pool>().With(p => p.Id, poolId).Create()); mockRepository.Setup(r => r.GetPoolById(It.Is <int>(i => i % 2 != 0))).ReturnsAsync((Pool)null); var result = await sut.GetPool(poolId); if (poolFound) { var actionResult = Assert.IsType <ActionResult <Pool> >(result); var poolResult = Assert.IsType <OkObjectResult>(actionResult.Result); poolResult.StatusCode.Should().Be(StatusCodes.Status200OK); var returnedPool = Assert.IsType <Pool>(poolResult.Value); returnedPool.Id.Should().Be(poolId); } else { var actionResult = Assert.IsType <ActionResult <Pool> >(result); var poolResult = Assert.IsType <NotFoundObjectResult>(actionResult.Result); poolResult.StatusCode.Should().Be(StatusCodes.Status404NotFound); } }
public async void ReturnPoolListAsync([Frozen] Mock <IPoolRepository> mockRepository, IFixture fixture, PoolsController sut) { List <Pool> pools = GivenTestPools(fixture); mockRepository.Setup(r => r.GetAllPools()).ReturnsAsync(pools); var result = await sut.GetPools(); var actionResult = Assert.IsType <ActionResult <IEnumerable <Pool> > >(result); var poolListResult = Assert.IsType <OkObjectResult>(actionResult.Result); poolListResult.StatusCode.Should().Be(StatusCodes.Status200OK); var returnedPoolList = Assert.IsType <List <Pool> >(poolListResult.Value); returnedPoolList.Should().HaveCount(2); }