public async Task Get_NotFound()
        {
            var fastTrackId = Guid.NewGuid();
            var cacheKey    = new FastTrackResultsCacheKey("publication", "release", fastTrackId);

            var(controller, mocks) = BuildControllerAndMocks();

            mocks
            .cacheKeyService
            .Setup(s => s.CreateCacheKeyForFastTrackResults(fastTrackId))
            .ReturnsAsync(cacheKey);

            mocks.cacheService
            .Setup(s => s.GetItem(cacheKey, typeof(FastTrackViewModel)))
            .ReturnsAsync(null);

            mocks
            .fastTrackService
            .Setup(s => s.GetFastTrackAndResults(fastTrackId))
            .ReturnsAsync(new NotFoundResult());

            var result = await controller.Get(fastTrackId.ToString());

            VerifyAllMocks(mocks);

            result.AssertNotFoundResult();
        }
 private Task <Either <ActionResult, FastTrackViewModel> > GetAndCacheFastTrackAndResults(FastTrackResultsCacheKey cacheKey)
 {
     return(_fastTrackService.GetFastTrackAndResults(cacheKey.FastTrackId));
 }