Files
apidash/test/widgets/button_group_filled_test.dart
2024-08-13 03:12:08 +05:30

102 lines
2.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.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);
});
}