public void Test1() { var options = Substitute.For <IOptions <SqlArtistEventRepositoryOptions> >(); SqlArtistEventRepositoryOptions optionsValue = new SqlArtistEventRepositoryOptions() { ConnectionString = "Server=.;Database=radiocom;Trusted_Connection=True;", }; options.Value.Returns(optionsValue); var factoryOptions = Substitute.For <IOptionsMonitor <SqlConnectionFactoryOptions> >(); SqlConnectionFactoryOptions factoryOptionsValue = new SqlConnectionFactoryOptions() { SetAzureAdAccessToken = false }; factoryOptions.CurrentValue.Returns(factoryOptionsValue); //var connectionFactory = Substitute.For<IDbConnectionFactory>(); //connectionFactory.GetConnection(Arg.Any<string>()); SqlConnectionFactory connectionFactory = new SqlConnectionFactory(factoryOptions); SqlArtistEventRepository sqlArtistEventRepository = new SqlArtistEventRepository(options, connectionFactory); var r = sqlArtistEventRepository.GetEventsForTimeSeriesAsync(Aggregation.Contracts.Values.TimeSeries.OneYear, 108).Result; var f = r.GroupBy(x => new DateTime(x.TimeStamp.Year, x.TimeStamp.Month, 1)).OrderBy(x => x.Key).Select(x => new { x.Key, Count = x.Count() }).ToList(); }
public SqlArtistEventRepository(IOptions <SqlArtistEventRepositoryOptions> sqlArtistEventRepositoryOptions, IDbConnectionFactory dbConnectionFactory) { _sqlArtistEventRepositoryOptions = sqlArtistEventRepositoryOptions.Value; _dbConnectionFactory = dbConnectionFactory; }