diff --git a/lib/components/badge/gf_button_badge.dart b/lib/components/badge/gf_button_badge.dart index 53f0a9e0..57fc3ae0 100644 --- a/lib/components/badge/gf_button_badge.dart +++ b/lib/components/badge/gf_button_badge.dart @@ -254,12 +254,12 @@ class _GFButtonBadgeState extends State { position: widget.position, size: widget.size, borderSide: widget.borderSide, - text: widget.text, + text: widget.text ?? (widget.icon != null ? '' : null), icon: widget.icon, blockButton: widget.blockButton, fullWidthButton: widget.fullWidthButton, - disabledColor: widget.disabledTextColor, - disabledTextColor: widget.disabledColor, + disabledColor: widget.disabledColor, + disabledTextColor: widget.disabledTextColor, ), ), ); diff --git a/test/components/badge/gf_button_badge_test.dart b/test/components/badge/gf_button_badge_test.dart new file mode 100644 index 00000000..dd4f8554 --- /dev/null +++ b/test/components/badge/gf_button_badge_test.dart @@ -0,0 +1,40 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:getwidget/getwidget.dart'; + +void main() { + testWidgets('GFButtonBadge displays text when text property is provided', (WidgetTester tester) async { + bool pressed = false; + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: GFButtonBadge( + onPressed: () { pressed = true; }, + text: 'Button Badge', + ), + ), + ), + ); + + expect(find.text('Button Badge'), findsOneWidget); + + await tester.tap(find.text('Button Badge')); + await tester.pump(); + expect(pressed, isTrue); + }); + + testWidgets('GFButtonBadge displays icon when icon property is provided', (WidgetTester tester) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: GFButtonBadge( + onPressed: () {}, + icon: Icon(Icons.add), + ), + ), + ), + ); + + expect(find.byIcon(Icons.add), findsOneWidget); + }); +} diff --git a/test/components/badge/gf_icon_badge_test.dart b/test/components/badge/gf_icon_badge_test.dart new file mode 100644 index 00000000..cfc6d466 --- /dev/null +++ b/test/components/badge/gf_icon_badge_test.dart @@ -0,0 +1,23 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:getwidget/getwidget.dart'; + +void main() { + testWidgets('GFIconBadge displays child and counterChild correctly', (WidgetTester tester) async { + final child = Icon(Icons.favorite); + final counterChild = Text('1'); + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: GFIconBadge( + child: child, + counterChild: counterChild, + ), + ), + ), + ); + + expect(find.byIcon(Icons.favorite), findsOneWidget); + expect(find.text('1'), findsOneWidget); + }); +}