mirror of
https://github.com/foss42/apidash.git
synced 2025-05-31 22:33:59 +08:00
test: history widgets
This commit is contained in:
71
test/widgets/button_form_data_file_test.dart
Normal file
71
test/widgets/button_form_data_file_test.dart
Normal file
@ -0,0 +1,71 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:apidash/consts.dart';
|
||||
import 'package:apidash/widgets/button_form_data_file.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('Testing FormDataFileButton for default label',
|
||||
(WidgetTester tester) async {
|
||||
await tester.pumpWidget(
|
||||
const MaterialApp(
|
||||
home: Scaffold(
|
||||
body: FormDataFileButton(),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
final icon = find.byIcon(Icons.snippet_folder_rounded);
|
||||
Finder button = find.ancestor(
|
||||
of: icon,
|
||||
matching: find.byWidgetPredicate((widget) => widget is ElevatedButton));
|
||||
|
||||
expect(button, findsOneWidget);
|
||||
expect(find.text(kLabelSelectFile), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('Testing FormDataFileButton with provided label',
|
||||
(WidgetTester tester) async {
|
||||
const testValue = 'test_file.txt';
|
||||
await tester.pumpWidget(
|
||||
const MaterialApp(
|
||||
home: Scaffold(
|
||||
body: FormDataFileButton(initialValue: testValue),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
final icon = find.byIcon(Icons.snippet_folder_rounded);
|
||||
Finder button = find.ancestor(
|
||||
of: icon,
|
||||
matching: find.byWidgetPredicate((widget) => widget is ElevatedButton));
|
||||
|
||||
expect(button, findsOneWidget);
|
||||
expect(find.text(testValue), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('Testing FormDataFileButton triggers onPressed callback',
|
||||
(WidgetTester tester) async {
|
||||
bool pressed = false;
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Scaffold(
|
||||
body: FormDataFileButton(
|
||||
onPressed: () {
|
||||
pressed = true;
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
final icon = find.byIcon(Icons.snippet_folder_rounded);
|
||||
Finder button = find.ancestor(
|
||||
of: icon,
|
||||
matching: find.byWidgetPredicate((widget) => widget is ElevatedButton));
|
||||
|
||||
await tester.tap(button);
|
||||
await tester.pump();
|
||||
|
||||
expect(pressed, isTrue);
|
||||
});
|
||||
}
|
102
test/widgets/button_group_filled_test.dart
Normal file
102
test/widgets/button_group_filled_test.dart
Normal file
@ -0,0 +1,102 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:apidash/consts.dart';
|
||||
import 'package:apidash/widgets/button_group_filled.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('Testing FilledButtonGroup', (WidgetTester tester) async {
|
||||
final buttons = [
|
||||
ButtonData(
|
||||
icon: Icons.add,
|
||||
label: 'Add',
|
||||
tooltip: 'Add Item',
|
||||
onPressed: () {},
|
||||
),
|
||||
ButtonData(
|
||||
icon: Icons.remove,
|
||||
label: 'Remove',
|
||||
tooltip: 'Remove Item',
|
||||
onPressed: () {},
|
||||
),
|
||||
];
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Scaffold(
|
||||
body: FilledButtonGroup(buttons: buttons),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(find.byType(FilledButtonWidget), findsNWidgets(2));
|
||||
});
|
||||
|
||||
testWidgets('Testing FilledButtonWidget with label',
|
||||
(WidgetTester tester) async {
|
||||
final buttonData = ButtonData(
|
||||
icon: Icons.add,
|
||||
label: 'Add',
|
||||
tooltip: 'Add Item',
|
||||
onPressed: () {},
|
||||
);
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Scaffold(
|
||||
body: FilledButtonWidget(buttonData: buttonData, showLabel: true),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(find.byIcon(Icons.add), findsOneWidget);
|
||||
expect(find.text('Add'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('Testing FilledButtonWidget without label',
|
||||
(WidgetTester tester) async {
|
||||
final buttonData = ButtonData(
|
||||
icon: Icons.add,
|
||||
label: 'Add',
|
||||
tooltip: 'Add Item',
|
||||
onPressed: () {},
|
||||
);
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Scaffold(
|
||||
body: FilledButtonWidget(buttonData: buttonData, showLabel: false),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(find.byIcon(Icons.add), findsOneWidget);
|
||||
expect(find.text('Add'), findsNothing);
|
||||
});
|
||||
|
||||
testWidgets('Testing FilledButtonWidget with onPressed callback',
|
||||
(WidgetTester tester) async {
|
||||
bool pressed = false;
|
||||
|
||||
final buttonData = ButtonData(
|
||||
icon: Icons.add,
|
||||
label: 'Add',
|
||||
tooltip: 'Add Item',
|
||||
onPressed: () {
|
||||
pressed = true;
|
||||
},
|
||||
);
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Scaffold(
|
||||
body: FilledButtonWidget(buttonData: buttonData, showLabel: true),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
await tester.tap(find.byType(FilledButtonWidget));
|
||||
await tester.pump();
|
||||
|
||||
expect(pressed, isTrue);
|
||||
});
|
||||
}
|
@ -22,23 +22,12 @@ void main() {
|
||||
expect(icon, findsOneWidget);
|
||||
|
||||
Finder button;
|
||||
if (tester.any(find.ancestor(
|
||||
of: icon,
|
||||
matching: find.byWidgetPredicate((widget) => widget is TextButton)))) {
|
||||
expect(find.text(kLabelDownload), findsOneWidget);
|
||||
button = find.ancestor(
|
||||
of: icon,
|
||||
matching: find.byWidgetPredicate((widget) => widget is TextButton));
|
||||
expect(button, findsOneWidget);
|
||||
expect(tester.widget<TextButton>(button).enabled, isFalse);
|
||||
} else if (tester
|
||||
.any(find.ancestor(of: icon, matching: find.byType(IconButton)))) {
|
||||
button = find.byType(IconButton);
|
||||
expect(button, findsOneWidget);
|
||||
expect(tester.widget<IconButton>(button).onPressed == null, isFalse);
|
||||
} else {
|
||||
fail('No TextButton or IconButton found');
|
||||
}
|
||||
});
|
||||
|
||||
testWidgets('Testing for Save in Downloads button 2', (tester) async {
|
||||
@ -48,6 +37,7 @@ void main() {
|
||||
theme: kThemeDataLight,
|
||||
home: Scaffold(
|
||||
body: SaveInDownloadsButton(
|
||||
showLabel: false,
|
||||
content: Uint8List.fromList([1]),
|
||||
),
|
||||
),
|
||||
@ -58,22 +48,8 @@ void main() {
|
||||
expect(icon, findsOneWidget);
|
||||
|
||||
Finder button;
|
||||
if (tester.any(find.ancestor(
|
||||
of: icon,
|
||||
matching: find.byWidgetPredicate((widget) => widget is TextButton)))) {
|
||||
expect(find.text(kLabelDownload), findsOneWidget);
|
||||
button = find.ancestor(
|
||||
of: icon,
|
||||
matching: find.byWidgetPredicate((widget) => widget is TextButton));
|
||||
expect(button, findsOneWidget);
|
||||
expect(tester.widget<TextButton>(button).enabled, isTrue);
|
||||
} else if (tester
|
||||
.any(find.ancestor(of: icon, matching: find.byType(IconButton)))) {
|
||||
button = find.byType(IconButton);
|
||||
expect(button, findsOneWidget);
|
||||
expect(tester.widget<IconButton>(button).onPressed == null, isTrue);
|
||||
} else {
|
||||
fail('No TextButton or IconButton found');
|
||||
}
|
||||
expect(tester.widget<IconButton>(button).onPressed == null, isFalse);
|
||||
});
|
||||
}
|
||||
|
47
test/widgets/card_history_request_test.dart
Normal file
47
test/widgets/card_history_request_test.dart
Normal file
@ -0,0 +1,47 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:apidash/models/models.dart';
|
||||
import 'package:apidash/widgets/texts.dart';
|
||||
import 'package:apidash/utils/utils.dart';
|
||||
import 'package:apidash/consts.dart';
|
||||
import 'package:apidash/widgets/card_history_request.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets(
|
||||
'HistoryRequestCard displays correct information and handles onTap',
|
||||
(WidgetTester tester) async {
|
||||
final mockModel = HistoryMetaModel(
|
||||
historyId: 'historyId',
|
||||
requestId: 'requestId',
|
||||
url: 'https://api.apidash.dev',
|
||||
method: HTTPVerb.get,
|
||||
timeStamp: DateTime.now(),
|
||||
responseStatus: 200,
|
||||
);
|
||||
|
||||
bool wasTapped = false;
|
||||
void mockOnTap() {
|
||||
wasTapped = true;
|
||||
}
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Scaffold(
|
||||
body: HistoryRequestCard(
|
||||
id: '1',
|
||||
model: mockModel,
|
||||
isSelected: true,
|
||||
onTap: mockOnTap,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(find.text(humanizeTime(mockModel.timeStamp)), findsOneWidget);
|
||||
|
||||
expect(find.byType(StatusCode), findsOneWidget);
|
||||
|
||||
await tester.tap(find.byType(InkWell));
|
||||
expect(wasTapped, isTrue);
|
||||
});
|
||||
}
|
97
test/widgets/card_sidebar_history_test.dart
Normal file
97
test/widgets/card_sidebar_history_test.dart
Normal file
@ -0,0 +1,97 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:apidash/widgets/widgets.dart';
|
||||
import 'package:apidash/consts.dart';
|
||||
import 'package:apidash/models/models.dart';
|
||||
|
||||
import '../test_consts.dart';
|
||||
|
||||
void main() {
|
||||
final List<HistoryMetaModel> sampleModels = [
|
||||
HistoryMetaModel(
|
||||
historyId: 'historyId',
|
||||
requestId: 'requestId',
|
||||
url: 'https://api.apidash.dev',
|
||||
method: HTTPVerb.get,
|
||||
timeStamp: DateTime.now(),
|
||||
responseStatus: 200,
|
||||
)
|
||||
];
|
||||
testWidgets('Testing Sidebar History Card', (tester) async {
|
||||
dynamic changedValue;
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
title: 'Sidebar History Card',
|
||||
theme: kThemeDataLight,
|
||||
home: Scaffold(
|
||||
body: ListView(
|
||||
children: [
|
||||
SidebarHistoryCard(
|
||||
id: '1',
|
||||
models: sampleModels,
|
||||
method: HTTPVerb.get,
|
||||
onTap: () {
|
||||
changedValue = 'Tapped';
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(find.byType(InkWell), findsOneWidget);
|
||||
|
||||
expect(find.text('https://api.apidash.dev'), findsOneWidget);
|
||||
expect(find.widgetWithText(SizedBox, 'https://api.apidash.dev'),
|
||||
findsOneWidget);
|
||||
expect(
|
||||
find.widgetWithText(Card, 'https://api.apidash.dev'), findsOneWidget);
|
||||
await tester.pumpAndSettle();
|
||||
var tappable = find.widgetWithText(Card, 'https://api.apidash.dev');
|
||||
await tester.tap(tappable);
|
||||
await tester.pumpAndSettle(const Duration(seconds: 2));
|
||||
expect(changedValue, 'Tapped');
|
||||
await tester.pumpAndSettle();
|
||||
});
|
||||
|
||||
testWidgets('Testing Sidebar History Card dark mode', (tester) async {
|
||||
dynamic changedValue;
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
title: 'Sidebar History Card',
|
||||
theme: kThemeDataDark,
|
||||
home: Scaffold(
|
||||
body: ListView(
|
||||
children: [
|
||||
SidebarHistoryCard(
|
||||
id: '1',
|
||||
models: sampleModels,
|
||||
method: HTTPVerb.get,
|
||||
onTap: () {
|
||||
changedValue = 'Tapped';
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(find.byType(InkWell), findsOneWidget);
|
||||
|
||||
expect(find.text('https://api.apidash.dev'), findsOneWidget);
|
||||
expect(find.widgetWithText(SizedBox, 'https://api.apidash.dev'),
|
||||
findsOneWidget);
|
||||
expect(
|
||||
find.widgetWithText(Card, 'https://api.apidash.dev'), findsOneWidget);
|
||||
await tester.pumpAndSettle();
|
||||
var tappable = find.widgetWithText(Card, 'https://api.apidash.dev');
|
||||
await tester.tap(tappable);
|
||||
await tester.pumpAndSettle(const Duration(seconds: 2));
|
||||
expect(changedValue, 'Tapped');
|
||||
await tester.pumpAndSettle();
|
||||
});
|
||||
}
|
44
test/widgets/popup_menu_history_test.dart
Normal file
44
test/widgets/popup_menu_history_test.dart
Normal file
@ -0,0 +1,44 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:apidash/widgets/widgets.dart';
|
||||
import 'package:apidash/consts.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('Testing HistoryRetentionPopupMenu widget',
|
||||
(WidgetTester tester) async {
|
||||
const historyPeriod1 = HistoryRetentionPeriod.oneMonth;
|
||||
const historyPeriod2 = HistoryRetentionPeriod.threeMonths;
|
||||
const HistoryRetentionPeriod initialValue = HistoryRetentionPeriod.oneWeek;
|
||||
HistoryRetentionPeriod? selectedValue;
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Scaffold(
|
||||
body: HistoryRetentionPopupMenu(
|
||||
value: initialValue,
|
||||
onChanged: (value) {
|
||||
selectedValue = value;
|
||||
},
|
||||
items: const [historyPeriod1, historyPeriod2],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(find.byType(HistoryRetentionPopupMenu), findsOneWidget);
|
||||
|
||||
expect(find.text(initialValue.label), findsOneWidget);
|
||||
|
||||
await tester.tap(find.byType(HistoryRetentionPopupMenu));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
for (var item in [historyPeriod1, historyPeriod2]) {
|
||||
expect(find.text(item.label), findsOneWidget);
|
||||
}
|
||||
|
||||
await tester.tap(find.text(historyPeriod2.label));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(selectedValue, historyPeriod2);
|
||||
});
|
||||
}
|
@ -3,7 +3,8 @@ import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:apidash/widgets/splitview_drawer.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('DrawerSplitView displays main components', (tester) async {
|
||||
testWidgets('Testing DrawerSplitView displays main components',
|
||||
(tester) async {
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
await tester.pumpWidget(
|
||||
@ -18,20 +19,16 @@ void main() {
|
||||
),
|
||||
);
|
||||
|
||||
// Verify the main content is displayed
|
||||
expect(find.text('Main Content'), findsOneWidget);
|
||||
|
||||
// Verify the title is displayed
|
||||
expect(find.text('Title'), findsOneWidget);
|
||||
|
||||
// Verify the left drawer content is not displayed initially
|
||||
expect(find.text('Left Drawer Content'), findsNothing);
|
||||
|
||||
// Verify the right drawer content is not displayed initially
|
||||
expect(find.text('Right Drawer Content'), findsNothing);
|
||||
});
|
||||
|
||||
testWidgets('DrawerSplitView opens left drawer', (tester) async {
|
||||
testWidgets('Testing DrawerSplitView opens left drawer', (tester) async {
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
await tester.pumpWidget(
|
||||
@ -45,15 +42,13 @@ void main() {
|
||||
),
|
||||
);
|
||||
|
||||
// Tap the leading icon to open the left drawer
|
||||
await tester.tap(find.byIcon(Icons.format_list_bulleted_rounded));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify the left drawer content is displayed
|
||||
expect(find.text('Left Drawer Content'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('DrawerSplitView opens right drawer', (tester) async {
|
||||
testWidgets('Testing DrawerSplitView opens right drawer', (tester) async {
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
await tester.pumpWidget(
|
||||
@ -67,15 +62,13 @@ void main() {
|
||||
),
|
||||
);
|
||||
|
||||
// Tap the right drawer icon to open the right drawer
|
||||
await tester.tap(find.byIcon(Icons.arrow_forward));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
// Verify the right drawer content is displayed
|
||||
expect(find.text('Right Drawer Content'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('DrawerSplitView displays actions', (tester) async {
|
||||
testWidgets('Testing DrawerSplitView displays actions', (tester) async {
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
await tester.pumpWidget(
|
||||
@ -91,7 +84,6 @@ void main() {
|
||||
),
|
||||
);
|
||||
|
||||
// Verify the action icon is displayed
|
||||
expect(find.byIcon(Icons.search), findsOneWidget);
|
||||
});
|
||||
}
|
||||
|
25
test/widgets/splitview_history_test.dart
Normal file
25
test/widgets/splitview_history_test.dart
Normal file
@ -0,0 +1,25 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:multi_split_view/multi_split_view.dart';
|
||||
import 'package:apidash/widgets/widgets.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('Testing for History Splitview', (tester) async {
|
||||
await tester.pumpWidget(
|
||||
const MaterialApp(
|
||||
title: 'History Splitview',
|
||||
home: Scaffold(
|
||||
body: HistorySplitView(
|
||||
sidebarWidget: Column(children: [Text("Pane")]),
|
||||
mainWidget: Column(children: [Text("Viewer")]),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(find.text("Pane"), findsOneWidget);
|
||||
expect(find.text("Viewer"), findsOneWidget);
|
||||
expect(find.byType(MultiSplitViewTheme), findsOneWidget);
|
||||
});
|
||||
//TODO: Divider not visible on flutter run. Investigate.
|
||||
}
|
36
test/widgets/table_request_form_test.dart
Normal file
36
test/widgets/table_request_form_test.dart
Normal file
@ -0,0 +1,36 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:data_table_2/data_table_2.dart';
|
||||
import 'package:apidash/widgets/widgets.dart';
|
||||
import 'package:apidash/models/models.dart';
|
||||
import 'package:apidash/consts.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('Testing RequestFormDataTable', (WidgetTester tester) async {
|
||||
const List<FormDataModel> sampleData = [
|
||||
FormDataModel(name: 'Key1', value: 'Value1', type: FormDataType.file),
|
||||
FormDataModel(name: 'Key2', value: 'Value2', type: FormDataType.text),
|
||||
];
|
||||
|
||||
await tester.pumpWidget(
|
||||
const MaterialApp(
|
||||
home: Scaffold(
|
||||
body: RequestFormDataTable(
|
||||
rows: sampleData,
|
||||
keyName: 'Key',
|
||||
valueName: 'Value',
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
expect(find.byType(DataTable2), findsOneWidget);
|
||||
expect(find.byType(ReadOnlyTextField), findsNWidgets(3));
|
||||
expect(find.byType(FormDataFileButton), findsOneWidget);
|
||||
|
||||
expect(find.text('Key1'), findsOneWidget);
|
||||
expect(find.text('Value1'), findsOneWidget);
|
||||
expect(find.text('Key2'), findsOneWidget);
|
||||
expect(find.text('Value2'), findsOneWidget);
|
||||
});
|
||||
}
|
32
test/widgets/table_request_test.dart
Normal file
32
test/widgets/table_request_test.dart
Normal file
@ -0,0 +1,32 @@
|
||||
import 'package:apidash/widgets/widgets.dart';
|
||||
import 'package:data_table_2/data_table_2.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
void main() {
|
||||
testWidgets('Testing RequestDataTable', (WidgetTester tester) async {
|
||||
final Map<String, String> sampleData = {
|
||||
'Key1': 'Value1',
|
||||
'Key2': 'Value2',
|
||||
};
|
||||
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: Scaffold(
|
||||
body: RequestDataTable(
|
||||
rows: sampleData,
|
||||
keyName: 'Key',
|
||||
valueName: 'Value',
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
expect(find.byType(DataTable2), findsOneWidget);
|
||||
expect(find.byType(ReadOnlyTextField), findsNWidgets(4));
|
||||
|
||||
expect(find.text('Key1'), findsOneWidget);
|
||||
expect(find.text('Value1'), findsOneWidget);
|
||||
expect(find.text('Key2'), findsOneWidget);
|
||||
expect(find.text('Value2'), findsOneWidget);
|
||||
});
|
||||
}
|
@ -24,6 +24,7 @@ void main() {
|
||||
widget is Text && widget.style!.color == kColorHttpMethodGet);
|
||||
expect(getTextWithColor, findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('Testing when method is DELETE', (tester) async {
|
||||
var methodDel = HTTPVerb.delete;
|
||||
await tester.pumpWidget(
|
||||
@ -44,4 +45,25 @@ void main() {
|
||||
(widget) => widget is Text && widget.style!.color == colDelDarkMode);
|
||||
expect(delTextWithColor, findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('Testing StatusCode', (WidgetTester tester) async {
|
||||
const int testStatusCode = 200;
|
||||
const TextStyle testStyle = TextStyle(fontSize: 20);
|
||||
|
||||
await tester.pumpWidget(
|
||||
const MaterialApp(
|
||||
home: Scaffold(
|
||||
body: StatusCode(
|
||||
statusCode: testStatusCode,
|
||||
style: testStyle,
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
Finder code = find.text(testStatusCode.toString());
|
||||
expect(code, findsOneWidget);
|
||||
final Text textWidget = tester.widget(code);
|
||||
expect(textWidget.style?.fontSize, testStyle.fontSize);
|
||||
});
|
||||
}
|
||||
|
Reference in New Issue
Block a user