public async Task GetSet_Gets_IfWasSet() { const string key = nameof(GetSet_Gets_IfWasSet); await _cacheStorage.SetAsync(key, 1); Assert.Equal(1, await _cacheStorage.GetAsync <int>(key)); }
public async Task <MonthlyBudgetReport> HandleAsync(MonthlyBudgetReportQuery request, CancellationToken cancellationToken) { var reportCacheKey = GetCacheKey(request.When); var cachedReport = await _cacheStorage.GetAsync <MonthlyBudgetReport>(reportCacheKey, cancellationToken); if (cachedReport.HasValue) { return(cachedReport); } var categories = await FetchAsync(new CategoriesQuery(), cancellationToken); var expenseLog = await FetchAsync(new MonthLogQuery(BudgetLogType.Expenses, request.When), cancellationToken); var incomeLog = await FetchAsync(new MonthLogQuery(BudgetLogType.Incomes, request.When), cancellationToken); var report = new MonthlyBudgetReport(request.When, _moneyCalculator, categories, incomeLog, expenseLog); await _cacheStorage.SetAsync(reportCacheKey, report, cancellationToken); return(report); }