mirror of
https://github.com/foss42/apidash.git
synced 2025-08-06 13:51:20 +08:00
103 lines
2.4 KiB
Dart
103 lines
2.4 KiB
Dart
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);
|
|
});
|
|
}
|