public void GatewaySyncState_SettingWasSaveWithoutValue_ShouldReturnSameValue()
        {
            // .: Setup
            var settingsRepository     = new SettingRepository(_dbContext);
            var gatewaySyncSettingsDao = new GatewaySyncStateSettingsDao(settingsRepository);
            var settingService         = new SettingsService(gatewaySyncSettingsDao);

            var expectedDate = 1601000400;
            var testState    = new GatewayUploadState()
            {
                CreationDateOfLastUploadedKey = expectedDate
            };

            // .: Act
            settingService.SaveGatewaySyncState(testState);
            var syncState = settingService.GetGatewayUploadState();

            // .: Validate
            syncState.Should()
            .NotBeNull()
            .And.IsSameOrEqualTo(testState);

            syncState.CreationDateOfLastUploadedKey.Should()
            .Be(expectedDate);
        }
        private EuGatewayService CreateGatewayService(
            TemporaryExposureKeyRepository keysRepository,
            ISignatureService signatureService,
            IMapper autoMapper,
            IGatewayHttpClient gateWayHttpClient,
            IKeyFilter keyFilter,
            IGatewayWebContextReader webContextReader,
            IEFGSKeyStoreService storeService,
            ILogger <EuGatewayService> logger,
            EuGatewayConfig config)
        {
            var encodingService = new EncodingService();
            var epochConverter  = new EpochConverter();

            var gatewaySyncStateSettingsDao = new GatewaySyncStateSettingsDao(new SettingRepository(_dbContext));
            var settingsService             = new SettingsService(gatewaySyncStateSettingsDao);

            return(new EuGatewayService(
                       keysRepository,
                       signatureService,
                       encodingService,
                       keyFilter,
                       webContextReader,
                       autoMapper,
                       logger,
                       config,
                       settingsService,
                       epochConverter,
                       gateWayHttpClient,
                       storeService));
        }
        public void GatewaySyncState_SettingDoesNotExist_ShouldReturnEmptyObjectDto()
        {
            var settingsRepository     = new SettingRepository(_dbContext);
            var gatewaySyncSettingsDao = new GatewaySyncStateSettingsDao(settingsRepository);
            var settingService         = new SettingsService(gatewaySyncSettingsDao);

            var syncState = settingService.GetGatewayUploadState();

            syncState.Should()
            .NotBeNull();
            syncState.CreationDateOfLastUploadedKey.Should()
            .BeNull();
        }