forked from eatvio/eatvio_app
79 lines
2.1 KiB
Dart
79 lines
2.1 KiB
Dart
import 'package:eatvio_app/features/chat/presentation/pages/payment_screen.dart';
|
||
import 'package:flutter/material.dart';
|
||
import 'package:flutter_test/flutter_test.dart';
|
||
import 'package:go_router/go_router.dart';
|
||
import '../../../../helpers/webview_test_helper.dart';
|
||
|
||
void main() {
|
||
setUp(() {
|
||
WebViewTestHelper.setUpWebViewPlatform();
|
||
});
|
||
|
||
tearDown(() {
|
||
WebViewTestHelper.tearDownWebViewPlatform();
|
||
});
|
||
|
||
group('PaymentScreen', () {
|
||
testWidgets('отображает PaymentScreen с WebView и AppBar', (WidgetTester tester) async {
|
||
const url = 'https://example.com/payment';
|
||
const planId = 1;
|
||
|
||
final router = GoRouter(
|
||
initialLocation: '/',
|
||
routes: [
|
||
GoRoute(
|
||
path: '/',
|
||
builder: (context, state) => const PaymentScreen(url: url, planId: planId),
|
||
),
|
||
],
|
||
);
|
||
|
||
await tester.pumpWidget(
|
||
MaterialApp.router(
|
||
routerConfig: router,
|
||
),
|
||
);
|
||
|
||
await tester.pump();
|
||
|
||
// Проверяем, что экран отображается
|
||
expect(find.byType(PaymentScreen), findsOneWidget);
|
||
expect(find.byType(Scaffold), findsOneWidget);
|
||
expect(find.byType(AppBar), findsOneWidget);
|
||
});
|
||
|
||
testWidgets('PaymentScreen создается с правильными параметрами', (WidgetTester tester) async {
|
||
const url = 'https://example.com/payment/test';
|
||
const planId = 42;
|
||
|
||
final router = GoRouter(
|
||
initialLocation: '/',
|
||
routes: [
|
||
GoRoute(
|
||
path: '/',
|
||
builder: (context, state) => const PaymentScreen(url: url, planId: planId),
|
||
),
|
||
],
|
||
);
|
||
|
||
await tester.pumpWidget(
|
||
MaterialApp.router(
|
||
routerConfig: router,
|
||
),
|
||
);
|
||
|
||
await tester.pump();
|
||
|
||
expect(find.byType(PaymentScreen), findsOneWidget);
|
||
});
|
||
|
||
test('PaymentScreen имеет правильные статические константы', () {
|
||
expect(PaymentScreen.name, 'paymentScreen');
|
||
expect(PaymentScreen.path, '/payment-screen');
|
||
});
|
||
});
|
||
}
|
||
|
||
|
||
|