Skip to content

Commit

Permalink
fix(ui): set the default variant of LoadingButton to outlined (#8443) (
Browse files Browse the repository at this point in the history
…#8545)

Co-authored-by: andrastimar <andrastimardev@gmail.com>
  • Loading branch information
AndrasTimar and andrastimar committed May 3, 2022
1 parent 9991b7a commit 518cdce
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ class LoadingButton extends StatelessWidget {
this.isLoading = false,
this.icon,
this.color,
this.variant = ButtonVariant.text,
this.variant = ButtonVariant.outlined,
}) : super(key: key);

@override
Expand Down
1 change: 1 addition & 0 deletions packages/flutterfire_ui/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ dependencies:
twitter_login: ^4.2.2

dev_dependencies:
firebase_auth_mocks: ^0.8.4
flutter_test:
sdk: flutter

Expand Down
53 changes: 53 additions & 0 deletions packages/flutterfire_ui/test/auth/widgets/email_form_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import 'package:firebase_auth_mocks/firebase_auth_mocks.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:flutterfire_ui/auth.dart';
import 'package:flutterfire_ui/src/auth/widgets/internal/loading_button.dart';
import 'package:flutterfire_ui/src/auth/widgets/internal/universal_button.dart';

import '../../test_utils.dart';

void main() {
group('EmailForm', () {
late Widget widget;

setUp(() {
widget = TestMaterialApp(
child: EmailForm(
auth: MockFirebaseAuth(),
action: AuthAction.signIn,
),
);
});

testWidgets('Has a Sign in button of outlined variant', (tester) async {
await tester.pumpWidget(widget);
expect(
find.descendant(
of: find.byWidgetPredicate(
(widget) =>
widget is LoadingButton &&
widget.variant == ButtonVariant.outlined,
),
matching: find.text('Sign in'),
),
findsOneWidget,
);
});

testWidgets('Has a Forgot password button of text variant', (tester) async {
await tester.pumpWidget(widget);
expect(
find.descendant(
of: find.byWidgetPredicate(
(widget) =>
widget is UniversalButton &&
widget.variant == ButtonVariant.text,
),
matching: find.text('Forgot password?'),
),
findsOneWidget,
);
});
});
}
16 changes: 16 additions & 0 deletions packages/flutterfire_ui/test/test_utils.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import 'package:flutter/material.dart';

class TestMaterialApp extends StatelessWidget {
final Widget child;

const TestMaterialApp({Key? key, required this.child}) : super(key: key);

@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: child,
),
);
}
}

0 comments on commit 518cdce

Please sign in to comment.