public DineSafeDataExtractorTests()
        {
            var options = new DbContextOptionsBuilder <WhereToBiteContext>()
                          .UseInMemoryDatabase("TestDb")
                          .Options;

            _whereToBiteContext = new WhereToBiteContext(options);

            _dineSafeDataExtractor = CreateDineSafeDataExtractor();
        }
        private DineSafeDataExtractor CreateDineSafeDataExtractor(bool haveUpdate = false)
        {
            var repository = new EstablishmentRepository(_whereToBiteContext);
            var dineSafeDataExtractorLogger = NullLogger <DineSafeDataExtractor> .Instance;
            var dineSafeSettings            = Options.Create(new DineSafeSettings
            {
                MetadataUrl           = "http://localhost/metadataHost",
                DineSafeId            = Guid.Empty,
                DineSafeLastUpdateUrl = "http://localhost/lastUpdateHost"
            });
            var packageId = Guid.NewGuid();
            var client    = new FakeDineSafeClient(packageId);

            var memoryCache = new FakeMemoryCache(haveUpdate ? DateTime.Now.AddDays(-2) : DateTime.Now);

            var actual =
                new DineSafeDataExtractor(repository, dineSafeSettings, dineSafeDataExtractorLogger, client, memoryCache);

            return(actual);
        }