From 69f7cdaa3c20b7efbf86f13a43674bd831207f7d Mon Sep 17 00:00:00 2001 From: Bunga Amalia Kurniawati Date: Mon, 7 Jun 2021 00:02:14 +0700 Subject: [PATCH 1/2] [RED] menambahkan test untuk kode bank --- .gitignore | 2 +- test/mock/donation.json | 3 ++- test/mock/transaction.json | 3 ++- test/my_donations_test.dart | 1 + test/product_payment_test.dart | 22 ++++++++++++++-------- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 85a41e9..70a3455 100644 --- a/.gitignore +++ b/.gitignore @@ -20,7 +20,7 @@ key.jks # The .vscode folder contains launch configuration and tasks you configure in # VS Code which you may wish to be included in version control, so this line # is commented out by default. -#.vscode/ +.vscode/ # Flutter/Dart/Pub related **/doc/api/ diff --git a/test/mock/donation.json b/test/mock/donation.json index 0b83f96..2d65e32 100644 --- a/test/mock/donation.json +++ b/test/mock/donation.json @@ -15,8 +15,9 @@ "user_bank_name": null, "user_bank_account_name": "michael", "transfer_destination_bank_name": null, - "transfer_destination_bank_account_name": null, + "transfer_destination_bank_code_number": null, "transfer_destination_bank_account_number": null, + "transfer_destination_bank_account_name": null, "donation_type": "CSH", "created_at": "2020-05-02T17:20:33.493414+07:00", "updated_at": "2020-05-02T17:20:33.493505+07:00" diff --git a/test/mock/transaction.json b/test/mock/transaction.json index bdd5893..5c0be2f 100644 --- a/test/mock/transaction.json +++ b/test/mock/transaction.json @@ -42,8 +42,9 @@ "user_bank_account_name": "adada", "bank_account_transfer_destination": "f1291c48-793c-4d44-89fe-6f64452f8aa9", "transfer_destination_bank_name": null, - "transfer_destination_bank_account_name": null, + "transfer_destination_bank_code_number": null, "transfer_destination_bank_account_number": null, + "transfer_destination_bank_account_name": null, "created_at": "2020-04-16T15:04:22.073683+07:00", "updated_at": "2020-04-20T16:58:37.049871+07:00", "subtotal": "155040.00", diff --git a/test/my_donations_test.dart b/test/my_donations_test.dart index f2fb24f..9184e8a 100644 --- a/test/my_donations_test.dart +++ b/test/my_donations_test.dart @@ -161,6 +161,7 @@ void main() { 'bank_account_transfer_destination': null, 'transfer_destination_bank_name': null, 'transfer_destination_bank_account_name': null, + 'transfer_destination_bank_code_number': null, 'transfer_destination_bank_account_number': null, 'goods_quantity': '1', 'goods_description': 'kaos', diff --git a/test/product_payment_test.dart b/test/product_payment_test.dart index fb04b20..7b19572 100644 --- a/test/product_payment_test.dart +++ b/test/product_payment_test.dart @@ -221,6 +221,7 @@ void main() { await tester.pump(); await tester.tap(find.text('KIRIM')); await tester.pump(); + await tester.pump(const Duration(seconds: 5)); verifyNever(bloc.add(ButtonSendClicked( transaction: json['id'], bankName: 'test', @@ -230,8 +231,8 @@ void main() { }); testWidgets('Payment Loaded select bank', (WidgetTester tester) async { - final bank = - Bank('1', 'bankName', 'bankAccountNumber', 'bankAccountName'); + final bank = Bank('1', 'bankName', 'bankCodeNumber', 'bankAccountNumber', + 'bankAccountName'); when(dio.get('/bank-account-transfer-destinations/', queryParameters: {'page': 1, 'page_size': 10})) .thenAnswer((_) async => Response>( @@ -252,8 +253,8 @@ void main() { await tester.tap(find.byType(ListTile).first); await tester.pump(Duration(seconds: 2)); expect(find.text('Silahkan pilih bank tujuan'), findsNothing); - expect(find.text('bankName: '), findsOneWidget); - expect(find.text('bankAccountNumber'), findsOneWidget); + expect(find.text('bankName'), findsWidgets); + expect(find.text('Nomor rekening: bankAccountNumber'), findsOneWidget); expect(find.text('Atas nama: bankAccountName'), findsOneWidget); expect(find.byType(IconButton), findsOneWidget); await tester.pump(Duration(seconds: 2)); @@ -290,18 +291,23 @@ void main() { const id = 'test'; const bankName = 'ada'; const bankAccountName = 'aku'; + const bankCodeNumber = '111'; const bankAccountNumber = '123'; - var bankModel = Bank(id, bankName, bankAccountNumber, bankAccountName); - expect( - bankModel.props, [id, bankName, bankAccountNumber, bankAccountName]); + var bankModel = Bank( + id, bankName, bankCodeNumber, bankAccountNumber, bankAccountName); + expect(bankModel.props, + [id, bankName, bankCodeNumber, bankAccountNumber, bankAccountName]); }); test('list bank model props', () async { const id = 'test'; const bankName = 'ada'; const bankAccountName = 'aku'; + const bankCodeNumber = '111'; const bankAccountNumber = '123'; - var bankModel = [Bank(id, bankName, bankAccountNumber, bankAccountName)]; + var bankModel = [ + Bank(id, bankName, bankCodeNumber, bankAccountNumber, bankAccountName) + ]; const count = 1; const previous = 'prev'; const next = 'next'; -- GitLab From 9e1e884daeacc66ca9751370e17de2b6f2ef9458 Mon Sep 17 00:00:00 2001 From: Bunga Amalia Kurniawati Date: Mon, 7 Jun 2021 00:05:32 +0700 Subject: [PATCH 2/2] [GREEN] menambahkan kode bank --- lib/Pages/Bank/model/bank.dart | 8 +++-- lib/Pages/Bank/model/bank.g.dart | 2 ++ lib/Pages/Bank/rekening.dart | 35 ++++++++++++++----- lib/Pages/DonationHistory/model/donation.dart | 4 +++ .../DonationHistory/model/donation.g.dart | 4 +++ .../Product/model/product/product.g.dart | 2 +- lib/Pages/ProductPayment/product_payment.dart | 4 +-- .../model/transaction_entity.dart | 4 +++ .../model/transaction_entity.g.dart | 10 ++++-- 9 files changed, 55 insertions(+), 18 deletions(-) diff --git a/lib/Pages/Bank/model/bank.dart b/lib/Pages/Bank/model/bank.dart index 8ddc788..5660162 100644 --- a/lib/Pages/Bank/model/bank.dart +++ b/lib/Pages/Bank/model/bank.dart @@ -7,14 +7,16 @@ part 'bank.g.dart'; class Bank extends Equatable { final String id; final String bankName; + final String bankCodeNumber; final String bankAccountNumber; final String bankAccountName; - const Bank( - this.id, this.bankName, this.bankAccountNumber, this.bankAccountName); + const Bank(this.id, this.bankName, this.bankCodeNumber, + this.bankAccountNumber, this.bankAccountName); @override - List get props => [id, bankName, bankAccountNumber, bankAccountName]; + List get props => + [id, bankName, bankCodeNumber, bankAccountNumber, bankAccountName]; factory Bank.fromJson(Map json) => _$BankFromJson(json); diff --git a/lib/Pages/Bank/model/bank.g.dart b/lib/Pages/Bank/model/bank.g.dart index 0c099a5..dacfdd4 100644 --- a/lib/Pages/Bank/model/bank.g.dart +++ b/lib/Pages/Bank/model/bank.g.dart @@ -10,6 +10,7 @@ Bank _$BankFromJson(Map json) { return Bank( json['id'] as String, json['bank_name'] as String, + json['bank_code_number'] as String, json['bank_account_number'] as String, json['bank_account_name'] as String, ); @@ -18,6 +19,7 @@ Bank _$BankFromJson(Map json) { Map _$BankToJson(Bank instance) => { 'id': instance.id, 'bank_name': instance.bankName, + 'bank_code_number': instance.bankCodeNumber, 'bank_account_number': instance.bankAccountNumber, 'bank_account_name': instance.bankAccountName, }; diff --git a/lib/Pages/Bank/rekening.dart b/lib/Pages/Bank/rekening.dart index 2e4845b..5177bc3 100644 --- a/lib/Pages/Bank/rekening.dart +++ b/lib/Pages/Bank/rekening.dart @@ -224,13 +224,25 @@ class _SelectedBankWidget extends StatelessWidget { return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ + Padding( + padding: const EdgeInsets.only( + top: 10, + bottom: 10, + ), + child: Text('${context.watch().selectedBank.bankName}', + style: + Theme.of(context).textTheme.headline6.copyWith(fontSize: 18)), + ), + Text( + 'Kode bank: ' + '${context.watch().selectedBank.bankCodeNumber}', + style: + Theme.of(context).textTheme.headline6.copyWith(fontSize: 18)), Row( children: [ Text( - '${context.watch().selectedBank.bankName}: ', - style: const TextStyle(fontSize: 18), - ), - Text(context.watch().selectedBank.bankAccountNumber, + 'Nomor rekening: ' + '${context.watch().selectedBank.bankAccountNumber}', style: Theme.of(context) .textTheme .headline6 @@ -250,11 +262,16 @@ class _SelectedBankWidget extends StatelessWidget { ), ], ), - Text( - 'Atas nama: ' - '${context.watch().selectedBank.bankAccountName}', - style: - Theme.of(context).textTheme.headline6.copyWith(fontSize: 18)), + Padding( + padding: const EdgeInsets.only( + bottom: 10, + ), + child: Text( + 'Atas nama: ' + '${context.watch().selectedBank.bankAccountName}', + style: + Theme.of(context).textTheme.headline6.copyWith(fontSize: 18)), + ), ], ); } diff --git a/lib/Pages/DonationHistory/model/donation.dart b/lib/Pages/DonationHistory/model/donation.dart index 8831733..302a382 100644 --- a/lib/Pages/DonationHistory/model/donation.dart +++ b/lib/Pages/DonationHistory/model/donation.dart @@ -34,6 +34,9 @@ class Donation { @JsonKey(nullable: true) final String transferDestinationBankAccountName; + @JsonKey(nullable: true) + final String transferDestinationBankCodeNumber; + @JsonKey(nullable: true) final String transferDestinationBankAccountNumber; final DateTime createdAt; @@ -60,6 +63,7 @@ class Donation { this.userBankName, this.transferDestinationBankName, this.transferDestinationBankAccountName, + this.transferDestinationBankCodeNumber, this.transferDestinationBankAccountNumber, this.programCode, this.userFullName, diff --git a/lib/Pages/DonationHistory/model/donation.g.dart b/lib/Pages/DonationHistory/model/donation.g.dart index 4fb63a2..f21b72b 100644 --- a/lib/Pages/DonationHistory/model/donation.g.dart +++ b/lib/Pages/DonationHistory/model/donation.g.dart @@ -20,6 +20,8 @@ Donation _$DonationFromJson(Map json) { json['transfer_destination_bank_name'] as String, transferDestinationBankAccountName: json['transfer_destination_bank_account_name'] as String, + transferDestinationBankCodeNumber: + json['transfer_destination_bank_code_number'] as String, transferDestinationBankAccountNumber: json['transfer_destination_bank_account_number'] as String, programCode: json['program_code'] as String, @@ -62,6 +64,8 @@ Map _$DonationToJson(Donation instance) => { 'transfer_destination_bank_name': instance.transferDestinationBankName, 'transfer_destination_bank_account_name': instance.transferDestinationBankAccountName, + 'transfer_destination_bank_code_number': + instance.transferDestinationBankCodeNumber, 'transfer_destination_bank_account_number': instance.transferDestinationBankAccountNumber, 'created_at': instance.createdAt.toIso8601String(), diff --git a/lib/Pages/Product/model/product/product.g.dart b/lib/Pages/Product/model/product/product.g.dart index 62769a5..4f4d633 100644 --- a/lib/Pages/Product/model/product/product.g.dart +++ b/lib/Pages/Product/model/product/product.g.dart @@ -31,7 +31,7 @@ Map _$ProductToJson(Product instance) => { 'subcategory_name': instance.subcategoryName, 'description': instance.description, 'price': instance.price, + 'unit': instance.unit, 'stock': instance.stock, 'image': instance.image, - 'unit': instance.unit, }; diff --git a/lib/Pages/ProductPayment/product_payment.dart b/lib/Pages/ProductPayment/product_payment.dart index 8d85ce1..e9809f4 100644 --- a/lib/Pages/ProductPayment/product_payment.dart +++ b/lib/Pages/ProductPayment/product_payment.dart @@ -53,7 +53,6 @@ class ProductPaymentView extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ SizedBox( - height: 120, child: BlocBuilder( condition: (prev, current) { return current is PaymentLoaded || @@ -519,8 +518,7 @@ class _ItemOrdered extends StatelessWidget { ), trailing: PriceTextFormatter( price: - '${transactionItem.quantity - * double.parse(transactionItem.productPrice)}', + '${transactionItem.quantity * double.parse(transactionItem.productPrice)}', style: const TextStyle( fontSize: 16, fontWeight: FontWeight.w600, diff --git a/lib/Pages/Transactions/model/transaction_entity.dart b/lib/Pages/Transactions/model/transaction_entity.dart index c90a87b..ff7ad92 100644 --- a/lib/Pages/Transactions/model/transaction_entity.dart +++ b/lib/Pages/Transactions/model/transaction_entity.dart @@ -43,6 +43,9 @@ class Transaction { @JsonKey(nullable: true) final String transferDestinationBankAccountName; + @JsonKey(nullable: true) + final String transferDestinationBankCodeNumber; + @JsonKey(nullable: true) final String transferDestinationBankAccountNumber; final DateTime createdAt; @@ -63,6 +66,7 @@ class Transaction { this.userBankName, this.transferDestinationBankName, this.transferDestinationBankAccountName, + this.transferDestinationBankCodeNumber, this.transferDestinationBankAccountNumber, this.userBankAccountName, this.transactionItemSubtotal, diff --git a/lib/Pages/Transactions/model/transaction_entity.g.dart b/lib/Pages/Transactions/model/transaction_entity.g.dart index b293005..7d127a2 100644 --- a/lib/Pages/Transactions/model/transaction_entity.g.dart +++ b/lib/Pages/Transactions/model/transaction_entity.g.dart @@ -16,6 +16,8 @@ Transaction _$TransactionFromJson(Map json) { json['transfer_destination_bank_name'] as String, transferDestinationBankAccountName: json['transfer_destination_bank_account_name'] as String, + transferDestinationBankCodeNumber: + json['transfer_destination_bank_code_number'] as String, transferDestinationBankAccountNumber: json['transfer_destination_bank_account_number'] as String, userBankAccountName: json['user_bank_account_name'] as String, @@ -46,7 +48,9 @@ Transaction _$TransactionFromJson(Map json) { subtotal: json['subtotal'] as String, batch: json['batch'] as String, batchName: json['batch_name'] as String, - batchEndDate: json['end_date'] != null ? DateTime.parse(json['end_date'] as String) : DateTime.now(), + batchEndDate: json['end_date'] != null + ? DateTime.parse(json['end_date'] as String) + : DateTime.now(), ); } @@ -79,6 +83,8 @@ Map _$TransactionToJson(Transaction instance) => 'transfer_destination_bank_name': instance.transferDestinationBankName, 'transfer_destination_bank_account_name': instance.transferDestinationBankAccountName, + 'transfer_destination_bank_code_number': + instance.transferDestinationBankCodeNumber, 'transfer_destination_bank_account_number': instance.transferDestinationBankAccountNumber, 'created_at': instance.createdAt.toIso8601String(), @@ -88,7 +94,7 @@ Map _$TransactionToJson(Transaction instance) => instance.transactionItems.map((e) => e.toJson()).toList(), 'batch': instance.batch, 'batch_name': instance.batchName, - 'end_date': instance.batchEndDate.toIso8601String(), + 'batch_end_date': instance.batchEndDate?.toIso8601String(), }; const _$PaymentMethodEnumMap = { -- GitLab