public async Task GetFundingStreams_GivenFundingStreamsAlreadyInCache_ReturnsOKWithResultsFromCachel() { // Arrange ILogger logger = CreateLogger(); IEnumerable <FundingStream> fundingStreams = new[] { new FundingStream(), new FundingStream() }; ICacheProvider cacheProvider = CreateCacheProvider(); cacheProvider .GetAsync <FundingStream[]>(Arg.Is(CacheKeys.AllFundingStreams)) .Returns(fundingStreams.ToArray()); IPolicyRepository policyRepository = CreatePolicyRepository(); FundingStreamService fundingStreamsService = CreateFundingStreamService(logger, cacheProvider, policyRepository); // Act IActionResult result = await fundingStreamsService.GetFundingStreams(); // Assert result .Should() .BeOfType <OkObjectResult>(); OkObjectResult objectResult = result as OkObjectResult; IEnumerable <FundingStream> values = objectResult.Value as IEnumerable <FundingStream>; values .Should() .HaveCount(2); await policyRepository .DidNotReceive() .GetFundingStreams(); }