stack_wallet/test/widget_tests/wallet_card_test.dart

88 lines
2.8 KiB
Dart
Raw Normal View History

import 'package:decimal/decimal.dart';
2022-10-13 18:40:19 +00:00
import 'package:mockito/annotations.dart';
import 'package:stackwallet/services/coins/bitcoin/bitcoin_wallet.dart';
import 'package:stackwallet/services/locale_service.dart';
2022-10-13 18:40:19 +00:00
import 'package:stackwallet/services/wallets.dart';
2023-05-12 20:02:04 +00:00
import 'package:stackwallet/themes/theme_service.dart';
import 'package:stackwallet/utilities/amount/amount.dart';
2022-10-13 18:40:19 +00:00
/// quick amount constructor wrapper. Using an int is bad practice but for
/// testing with small amounts this should be fine
Amount _a(int i) => Amount.fromDecimal(
Decimal.fromInt(i),
fractionDigits: 8,
);
2022-10-13 18:40:19 +00:00
2023-05-12 20:02:04 +00:00
@GenerateMocks([
Wallets,
BitcoinWallet,
LocaleService,
ThemeService,
])
2022-10-13 18:40:19 +00:00
void main() {
// testWidgets('test widget loads correctly', (widgetTester) async {
// final CoinServiceAPI wallet = MockBitcoinWallet();
// final mockThemeService = MockThemeService();
//
// mockito.when(mockThemeService.getTheme(themeId: "light")).thenAnswer(
// (_) => StackTheme.fromJson(
// json: lightThemeJsonMap,
// ),
// );
// mockito.when(wallet.walletId).thenAnswer((realInvocation) => "wallet id");
// mockito.when(wallet.coin).thenAnswer((realInvocation) => Coin.bitcoin);
// mockito
// .when(wallet.walletName)
// .thenAnswer((realInvocation) => "wallet name");
// mockito.when(wallet.balance).thenAnswer(
// (_) => Balance(
// total: _a(0),
// spendable: _a(0),
// blockedTotal: _a(0),
// pendingSpendable: _a(0),
// ),
// );
//
// final wallets = MockWallets();
// final wallet = Manager(wallet);
//
// mockito.when(wallets.getManagerProvider("wallet id")).thenAnswer(
// (realInvocation) => ChangeNotifierProvider((ref) => manager));
//
// const walletSheetCard = SimpleWalletCard(
// walletId: "wallet id",
// );
//
// await widgetTester.pumpWidget(
// ProviderScope(
// overrides: [
// pWallets.overrideWithValue(wallets),
// pThemeService.overrideWithValue(mockThemeService),
// coinIconProvider.overrideWithProvider(
// (argument) => Provider<String>((_) =>
// "${Directory.current.path}/test/sample_data/light/assets/dummy.svg"),
// ),
// ],
// child: MaterialApp(
// theme: ThemeData(
// extensions: [
// StackColors.fromStackColorTheme(
// StackTheme.fromJson(
// json: lightThemeJsonMap,
// ),
// ),
// ],
// ),
// home: const Material(
// child: walletSheetCard,
// ),
// ),
// ),
// );
//
// await widgetTester.pumpAndSettle();
//
// expect(find.byWidget(walletSheetCard), findsOneWidget);
// });
2022-10-13 18:40:19 +00:00
}