This commit is contained in:
PapaTutuWawa 2025-05-19 22:01:17 +02:00
parent 71993c2686
commit 121d0ec236
5 changed files with 11 additions and 50 deletions

View File

@ -191,7 +191,7 @@ class OkaneDatabase extends _$OkaneDatabase {
) )
class AccountsDao extends DatabaseAccessor<OkaneDatabase> class AccountsDao extends DatabaseAccessor<OkaneDatabase>
with _$AccountsDaoMixin { with _$AccountsDaoMixin {
AccountsDao(OkaneDatabase db) : super(db); AccountsDao(super.db);
Stream<List<Account>> accountsStream() { Stream<List<Account>> accountsStream() {
return select(accounts).watch(); return select(accounts).watch();
@ -227,7 +227,7 @@ enum TransactionQueryDateOption { thisMonth }
@DriftAccessor(tables: [Transactions, Beneficiaries, ExpenseCategories]) @DriftAccessor(tables: [Transactions, Beneficiaries, ExpenseCategories])
class TransactionsDao extends DatabaseAccessor<OkaneDatabase> class TransactionsDao extends DatabaseAccessor<OkaneDatabase>
with _$TransactionsDaoMixin { with _$TransactionsDaoMixin {
TransactionsDao(OkaneDatabase db) : super(db); TransactionsDao(super.db);
JoinedSelectStatement _transactionQuery(Account account) { JoinedSelectStatement _transactionQuery(Account account) {
return (select(transactions) return (select(transactions)
@ -350,7 +350,7 @@ class TransactionsDao extends DatabaseAccessor<OkaneDatabase>
@DriftAccessor(tables: [Beneficiaries]) @DriftAccessor(tables: [Beneficiaries])
class BeneficiariesDao extends DatabaseAccessor<OkaneDatabase> class BeneficiariesDao extends DatabaseAccessor<OkaneDatabase>
with _$BeneficiariesDaoMixin { with _$BeneficiariesDaoMixin {
BeneficiariesDao(OkaneDatabase db) : super(db); BeneficiariesDao(super.db);
Stream<List<Beneficiary>> beneficiariesStream() { Stream<List<Beneficiary>> beneficiariesStream() {
return select(beneficiaries).watch(); return select(beneficiaries).watch();
@ -379,7 +379,7 @@ class BeneficiariesDao extends DatabaseAccessor<OkaneDatabase>
@DriftAccessor(tables: [ExpenseCategories]) @DriftAccessor(tables: [ExpenseCategories])
class ExpenseCategoriesDao extends DatabaseAccessor<OkaneDatabase> class ExpenseCategoriesDao extends DatabaseAccessor<OkaneDatabase>
with _$ExpenseCategoriesDaoMixin { with _$ExpenseCategoriesDaoMixin {
ExpenseCategoriesDao(OkaneDatabase db) : super(db); ExpenseCategoriesDao(super.db);
Stream<List<ExpenseCategory>> expenseCategoriesStream(Account account) { Stream<List<ExpenseCategory>> expenseCategoriesStream(Account account) {
return select(expenseCategories).watch(); return select(expenseCategories).watch();
@ -403,7 +403,7 @@ class ExpenseCategoriesDao extends DatabaseAccessor<OkaneDatabase>
@DriftAccessor(tables: [Budgets, BudgetItems]) @DriftAccessor(tables: [Budgets, BudgetItems])
class BudgetsDao extends DatabaseAccessor<OkaneDatabase> class BudgetsDao extends DatabaseAccessor<OkaneDatabase>
with _$BudgetsDaoMixin { with _$BudgetsDaoMixin {
BudgetsDao(OkaneDatabase db) : super(db); BudgetsDao(super.db);
Stream<List<BudgetsDto>> budgetsStream(Account account) { Stream<List<BudgetsDto>> budgetsStream(Account account) {
return (select(budgets) return (select(budgets)
@ -461,7 +461,7 @@ class BudgetsDao extends DatabaseAccessor<OkaneDatabase>
@DriftAccessor(tables: [Loans, LoanChanges, Beneficiaries]) @DriftAccessor(tables: [Loans, LoanChanges, Beneficiaries])
class LoansDao extends DatabaseAccessor<OkaneDatabase> with _$LoansDaoMixin { class LoansDao extends DatabaseAccessor<OkaneDatabase> with _$LoansDaoMixin {
LoansDao(OkaneDatabase db) : super(db); LoansDao(super.db);
Stream<List<LoanDto>> loansStream(Account account) { Stream<List<LoanDto>> loansStream(Account account) {
return select(loans) return select(loans)
@ -537,7 +537,7 @@ class LoansDao extends DatabaseAccessor<OkaneDatabase> with _$LoansDaoMixin {
@DriftAccessor(tables: [TransactionTemplates, ExpenseCategories, Beneficiaries]) @DriftAccessor(tables: [TransactionTemplates, ExpenseCategories, Beneficiaries])
class TransactionTemplatesDao extends DatabaseAccessor<OkaneDatabase> class TransactionTemplatesDao extends DatabaseAccessor<OkaneDatabase>
with _$TransactionTemplatesDaoMixin { with _$TransactionTemplatesDaoMixin {
TransactionTemplatesDao(OkaneDatabase db) : super(db); TransactionTemplatesDao(super.db);
Stream<List<TransactionTemplateDto>> transactionTemplatesStream( Stream<List<TransactionTemplateDto>> transactionTemplatesStream(
Account account, Account account,
@ -618,7 +618,7 @@ class TransactionTemplatesDao extends DatabaseAccessor<OkaneDatabase>
@DriftAccessor(tables: [TransactionTemplates, RecurringTransactions]) @DriftAccessor(tables: [TransactionTemplates, RecurringTransactions])
class RecurringTransactionsDao extends DatabaseAccessor<OkaneDatabase> class RecurringTransactionsDao extends DatabaseAccessor<OkaneDatabase>
with _$RecurringTransactionsDaoMixin { with _$RecurringTransactionsDaoMixin {
RecurringTransactionsDao(OkaneDatabase db) : super(db); RecurringTransactionsDao(super.db);
Stream<List<RecurringTransactionDto>> recurringTransactionsStream( Stream<List<RecurringTransactionDto>> recurringTransactionsStream(
Account account, Account account,

View File

@ -27,7 +27,7 @@ Future<void> main() async {
GetIt.I.registerSingleton<CoreCubit>(CoreCubit()); GetIt.I.registerSingleton<CoreCubit>(CoreCubit());
GetIt.I.registerSingleton<OkaneDatabase>(OkaneDatabase()); GetIt.I.registerSingleton<OkaneDatabase>(OkaneDatabase());
final appRunner = () => runApp(const MyApp()); appRunner() => runApp(const MyApp());
if (settings.sentryDsn != null) { if (settings.sentryDsn != null) {
print("Setting up Sentry!"); print("Setting up Sentry!");
await SentryFlutter.init((options) { await SentryFlutter.init((options) {

View File

@ -46,7 +46,7 @@ class BreakdownCard extends StatelessWidget {
Map<String, double> expenses = {}; Map<String, double> expenses = {};
Map<String, Color> colors = {}; Map<String, Color> colors = {};
double usableMoney = 0; double usableMoney = 0;
transactions.forEach((t) { for (var t in transactions) {
String category; String category;
if (t.transaction.amount > 0) { if (t.transaction.amount > 0) {
category = CATEGORY_INCOME; category = CATEGORY_INCOME;
@ -67,7 +67,7 @@ class BreakdownCard extends StatelessWidget {
ifAbsent: () => t.transaction.amount.abs().toDouble(), ifAbsent: () => t.transaction.amount.abs().toDouble(),
); );
usableMoney += t.transaction.amount; usableMoney += t.transaction.amount;
}); }
return (expenses: expenses, colors: colors, usable: usableMoney); return (expenses: expenses, colors: colors, usable: usableMoney);
} }

View File

@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:get_it/get_it.dart'; import 'package:get_it/get_it.dart';
import 'package:okane/i18n/strings.g.dart'; import 'package:okane/i18n/strings.g.dart';
import 'package:okane/ui/pages/account/breakdown_card.dart';
import 'package:okane/ui/state/settings.dart'; import 'package:okane/ui/state/settings.dart';
import 'package:okane/ui/utils.dart'; import 'package:okane/ui/utils.dart';

View File

@ -1,38 +0,0 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:okane/database/collections/recurrent.dart';
void main() {
group("isDue", () {
test("null value", () {
final t = RecurringTransaction()..lastExecution = null;
expect(t.isDue(DateTime.now()), true);
});
test("Date before", () {
final now = DateTime.now();
final t =
RecurringTransaction()
..lastExecution = now
..days = 30;
expect(t.isDue(now.add(Duration(days: 10))), false);
});
test("Date before warning", () {
final now = DateTime.now();
final t =
RecurringTransaction()
..lastExecution = now
..days = 30;
expect(t.isDue(now.add(Duration(days: 20))), true);
});
test("Expired", () {
final now = DateTime.now();
final t =
RecurringTransaction()
..lastExecution = now
..days = 30;
expect(t.isDue(now.add(Duration(days: 31))), true);
});
});
}