diff --git a/test/transactions_test.dart b/test/transactions_test.dart new file mode 100644 index 0000000000000000000000000000000000000000..8186343636a75859d2e347724f978aa67cff5e3c --- /dev/null +++ b/test/transactions_test.dart @@ -0,0 +1,23 @@ +import 'package:flutter/services.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:ginkgo/data/models/transaction.dart'; +import 'package:ginkgo/g1/transaction_parser.dart'; + +void main() { + test('Test parsing', () async { + TestWidgetsFlutterBinding.ensureInitialized(); + final String txData = await rootBundle.loadString('assets/tx.json'); + final TransactionsAndBalanceState result = transactionParser(txData); + expect(result.balance, equals(6700)); + final List<Transaction> txs = result.transactions; + for (final Transaction tx in txs) { + expect(tx.from != tx.to, equals(true)); + } + expect(txs.first.to == '9Bcx5JV3swCQBEeH3PcuNcBVperLscWtN78hjFVx1yzG', + equals(true)); + expect(txs.first.from != '9Bcx5JV3swCQBEeH3PcuNcBVperLscWtN78hjFVx1yzG', + equals(true)); + expect(txs[txs.length - 2].amount < 0, equals(true)); + expect(txs.last.amount > 0, equals(true)); + }); +}