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';
|
2022-10-19 13:18:05 +00:00
|
|
|
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';
|
2023-05-09 21:57:40 +00:00
|
|
|
import 'package:stackwallet/themes/stack_colors.dart';
|
2023-05-12 20:02:04 +00:00
|
|
|
import 'package:stackwallet/themes/theme_service.dart';
|
2022-10-19 13:18:05 +00:00
|
|
|
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,
|
|
|
|
])
|
2022-10-19 13:18:05 +00:00
|
|
|
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,
|
|
|
|
),
|
|
|
|
);
|
2022-10-19 13:18:05 +00:00
|
|
|
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),
|
|
|
|
],
|
2022-10-19 13:18:05 +00:00
|
|
|
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
|
|
|
),
|
2022-10-19 13:18:05 +00:00
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
home: TradeCard(trade: trade, onTap: () {}),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
|
|
|
|
expect(find.byType(TradeCard), findsOneWidget);
|
|
|
|
expect(find.text("BTC → XMR"), findsOneWidget);
|
|
|
|
expect(find.text("Some Exchange"), findsOneWidget);
|
|
|
|
});
|
|
|
|
}
|