public ConnectionServiceTests() { // Setup an actual in-memory Sqlite for db mocking var optionsBuilder = new DbContextOptionsBuilder <ForexMinerHeimdallrDbContext>(); optionsBuilder.UseSqlite("Filename=:memory:"); _dbContext = new ForexMinerHeimdallrDbContext(optionsBuilder.Options); _dbContext.Database.OpenConnection(); _dbContext.Database.Migrate(); // Auto mapper var contractContract = new ContractContractMappings(); var databaseContract = new DatabaseContractMappings(); var oandaContract = new OandaContractMappings(); var configuration = new MapperConfiguration(cfg => { cfg.AddProfile(contractContract); cfg.AddProfile(databaseContract); cfg.AddProfile(oandaContract); }); _mapper = new Mapper(configuration); // Mocks _connectionsSecretServiceMock = new Mock <IConnectionsSecretService>(); _oandaApiFactoryMock = new Mock <IOandaApiConnectionFactory>(); // Class under test _connectionService = new ConnectionService(_dbContext, _connectionsSecretServiceMock.Object, _mapper, _oandaApiFactoryMock.Object); }
public InstrumentsServiceTests() { // Setup an actual in-memory Sqlite for db mocking var optionsBuilder = new DbContextOptionsBuilder <ForexMinerHeimdallrDbContext>(); optionsBuilder.UseSqlite("Filename=:memory:"); _dbContext = new ForexMinerHeimdallrDbContext(optionsBuilder.Options); _dbContext.Database.OpenConnection(); _dbContext.Database.Migrate(); // Auto mapper var contractContract = new ContractContractMappings(); var databaseContract = new DatabaseContractMappings(); var oandaContract = new OandaContractMappings(); var configuration = new MapperConfiguration(cfg => { cfg.AddProfile(contractContract); cfg.AddProfile(databaseContract); cfg.AddProfile(oandaContract); }); _mapper = new Mapper(configuration); // Class under test _instrumentService = new InstrumentService(_dbContext, _mapper); }
public InstrumentHistoryServiceTests() { // Setup an actual in-memory Sqlite for db mocking var optionsBuilder = new DbContextOptionsBuilder <ForexMinerHeimdallrDbContext>(); optionsBuilder.UseSqlite("Filename=:memory:"); _dbContext = new ForexMinerHeimdallrDbContext(optionsBuilder.Options); _dbContext.Database.OpenConnection(); _dbContext.Database.Migrate(); // Auto mapper var contractContract = new ContractContractMappings(); var databaseContract = new DatabaseContractMappings(); var oandaContract = new OandaContractMappings(); var configuration = new MapperConfiguration(cfg => { cfg.AddProfile(contractContract); cfg.AddProfile(databaseContract); cfg.AddProfile(oandaContract); }); _mapper = new Mapper(configuration); // Mocks _configurationMock = new Mock <IConfiguration>(); _httpClientFactoryMock = new Mock <IHttpClientFactory>(); _instrumentStorageServiceMock = new Mock <IInstrumentStorageService>(); _oandaApiConnectionFactoryMock = new Mock <IOandaApiConnectionFactory>(); _configurationMock.SetupGet(c => c[It.Is <string>(cv => cv == "forex-miner-thor:Max-Retries")]).Returns("5"); _configurationMock.SetupGet(c => c[It.Is <string>(cv => cv == "forex-miner-thor:Name")]).Returns("forex-miner-thor"); _configurationMock.SetupGet(c => c[It.Is <string>(cv => cv == "forex-miner-thor:Content-Type")]).Returns("application/json"); _configurationMock.SetupGet(c => c[It.Is <string>(cv => cv == "Oanda-MasterToken")]).Returns("FakeToken"); // Class under test _instrumentHistoryService = new InstrumentHistoryService( _configurationMock.Object, _httpClientFactoryMock.Object, _dbContext, _instrumentStorageServiceMock.Object, _mapper, _oandaApiConnectionFactoryMock.Object ); }