public CachedTaxRateSettingRepository( IMemoryCache cache, TaxRateSettingRepository <TTaxRateSetting> settingRepository) { _cache = cache; _settingRepository = settingRepository; }
public static async Task GetTaxYearAsync_Should_Search_By_Date <TTaxSetting>() where TTaxSetting : BaseTaxRateSetting, new() { //Arrange var options = new DbContextOptionsBuilder <ApplicationContext>() .UseInMemoryDatabase(databaseName: "TaxRateSettingRepositoryTests" + Guid.NewGuid()) .Options; await using var context = new ApplicationContext(options); var taxYear = new TaxYear() { FromDate = new DateTime(2020, 01, 01), ToDate = new DateTime(2020, 12, 01), Name = "2020 Tax Year" }; context.TaxYears.Add(taxYear); var taxRateSetting = new TTaxSetting { TaxYear = taxYear }; context.Set <TTaxSetting>().Add(taxRateSetting); await context.SaveChangesAsync(); var repository = new TaxRateSettingRepository <TTaxSetting>(context); //Act var entity = await repository.GetByTaxYearAsync(taxYear); //Assert CollectionAssert.AreEqual(new List <TTaxSetting> { taxRateSetting }, entity); }