mirror of
https://github.com/foss42/apidash.git
synced 2025-05-28 20:27:04 +08:00
99 lines
3.1 KiB
Dart
99 lines
3.1 KiB
Dart
import 'package:apidash_core/apidash_core.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:apidash/widgets/widgets.dart';
|
|
import '../test_consts.dart';
|
|
|
|
void main() {
|
|
testWidgets('Testing Sidebar Request Card', (tester) async {
|
|
dynamic changedValue;
|
|
await tester.pumpWidget(
|
|
MaterialApp(
|
|
title: 'Sidebar Request Card',
|
|
theme: kThemeDataLight,
|
|
home: Scaffold(
|
|
body: ListView(
|
|
children: [
|
|
SidebarRequestCard(
|
|
id: '23',
|
|
selectedId: '2',
|
|
url: 'https://api.apidash.dev',
|
|
method: HTTPVerb.get,
|
|
onTap: () {
|
|
changedValue = 'Single Tapped';
|
|
},
|
|
onDoubleTap: () {
|
|
changedValue = 'Double Tapped';
|
|
},
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
expect(find.byType(InkWell), findsOneWidget);
|
|
|
|
expect(find.text('api.apidash.dev'), findsOneWidget);
|
|
expect(find.widgetWithText(SizedBox, 'api.apidash.dev'), findsOneWidget);
|
|
expect(find.widgetWithText(Card, 'api.apidash.dev'), findsOneWidget);
|
|
await tester.pumpAndSettle();
|
|
var tappable = find.widgetWithText(Card, 'api.apidash.dev');
|
|
await tester.tap(tappable);
|
|
await tester.pumpAndSettle(const Duration(seconds: 2));
|
|
expect(changedValue, 'Single Tapped');
|
|
await tester.pumpAndSettle();
|
|
|
|
// await tester.tap(tappable);
|
|
// await tester.pump(const Duration(milliseconds: 100));
|
|
// await tester.tap(tappable);
|
|
// await tester.pumpAndSettle(const Duration(seconds: 2));
|
|
// expect(changedValue, 'Double Tapped');
|
|
});
|
|
testWidgets('Testing Sidebar Request Card dark mode', (tester) async {
|
|
dynamic changedValue;
|
|
await tester.pumpWidget(
|
|
MaterialApp(
|
|
title: 'Sidebar Request Card',
|
|
theme: kThemeDataDark,
|
|
home: Scaffold(
|
|
body: ListView(
|
|
children: [
|
|
SidebarRequestCard(
|
|
id: '2',
|
|
selectedId: '2',
|
|
editRequestId: '2',
|
|
url: 'https://api.apidash.dev',
|
|
method: HTTPVerb.get,
|
|
onTapOutsideNameEditor: () {
|
|
changedValue = 'Tapped Outside';
|
|
},
|
|
onChangedNameEditor: (value) {
|
|
changedValue = value;
|
|
},
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
expect(find.byType(InkWell), findsOneWidget);
|
|
await tester.pumpAndSettle();
|
|
var tappable = find.byType(TextFormField);
|
|
|
|
await tester.enterText(tappable, 'entering 123 for testing');
|
|
await tester.pump();
|
|
await tester.pumpAndSettle();
|
|
expect(changedValue, 'entering 123 for testing');
|
|
|
|
await tester.tapAt(const Offset(100, 100));
|
|
await tester.pumpAndSettle();
|
|
expect(changedValue, 'Tapped Outside');
|
|
|
|
await tester.enterText(tappable, 'New Name');
|
|
await tester.testTextInput.receiveAction(TextInputAction.done);
|
|
expect(changedValue, "Tapped Outside");
|
|
});
|
|
}
|