stack_wallet/test/widget_tests/trade_card_test.dart

75 lines
2.2 KiB
Dart
Raw Normal View History

2022-10-19 10:09:34 +00:00
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
2023-05-08 17:59:00 +00:00
import 'package:flutter_test/flutter_test.dart';
2023-05-12 20:02:04 +00:00
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
import 'package:stackwallet/models/exchange/response_objects/trade.dart';
2023-05-12 20:02:04 +00:00
import 'package:stackwallet/models/isar/stack_theme.dart';
import 'package:stackwallet/themes/stack_colors.dart';
2023-05-12 20:02:04 +00:00
import 'package:stackwallet/themes/theme_service.dart';
import 'package:stackwallet/widgets/trade_card.dart';
2022-10-19 10:09:34 +00:00
2023-05-12 20:02:04 +00:00
import '../sample_data/theme_json.dart';
import 'trade_card_test.mocks.dart';
@GenerateMocks([
ThemeService,
])
void main() {
testWidgets("Test Trade card builds", (widgetTester) async {
2023-05-12 20:02:04 +00:00
final mockThemeService = MockThemeService();
when(mockThemeService.getTheme(themeId: "light")).thenAnswer(
(_) => StackTheme.fromJson(
json: lightThemeJsonMap,
),
);
final trade = Trade(
uuid: "uuid",
tradeId: "trade id",
rateType: "Estimate rate",
direction: "",
timestamp: DateTime.parse("1662544771"),
updatedAt: DateTime.parse("1662544771"),
payInCurrency: "BTC",
payInAmount: "10",
payInAddress: "btc address",
payInNetwork: "",
payInExtraId: "",
payInTxid: "",
payOutCurrency: "xmr",
payOutAmount: "10",
payOutAddress: "xmr address",
payOutNetwork: "",
payOutExtraId: "",
payOutTxid: "",
refundAddress: "refund address",
refundExtraId: "",
status: "Failed",
exchangeName: "Some Exchange");
await widgetTester.pumpWidget(
ProviderScope(
2023-05-12 20:02:04 +00:00
overrides: [
pThemeService.overrideWithValue(mockThemeService),
],
child: MaterialApp(
theme: ThemeData(
extensions: [
StackColors.fromStackColorTheme(
2023-05-08 17:59:00 +00:00
StackTheme.fromJson(
2023-05-12 20:02:04 +00:00
json: lightThemeJsonMap,
2023-05-08 17:59:00 +00:00
),
),
],
),
home: TradeCard(trade: trade, onTap: () {}),
),
),
);
expect(find.byType(TradeCard), findsOneWidget);
expect(find.text("BTC → XMR"), findsOneWidget);
expect(find.text("Some Exchange"), findsOneWidget);
});
}