로그인을 Figma 2단계(로그인 → 간편 로그인)로 · 회원가입 · 약관 동의 · 가입 완료 화면
This commit is contained in:
@@ -7,6 +7,7 @@ import 'package:fancake/core/firebase/firebase_boot.dart';
|
||||
import 'package:fancake/core/router/app_router.dart';
|
||||
import 'package:fancake/features/auth/auth.dart';
|
||||
import 'package:fancake/features/auth/auth_repository.dart';
|
||||
import 'package:fancake/features/auth/login_screen.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
@@ -24,11 +25,13 @@ void main() {
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(tester.takeException(), isNull);
|
||||
expect(find.text('FANUZU'), findsOneWidget);
|
||||
// 별첨 B v1.4 확정 4종이 라벨 그대로 있다.
|
||||
expect(find.byKey(loginLogoKey), findsOneWidget);
|
||||
// Figma 2단계 — 「로그인」을 누르면 간편 로그인에 별첨 B v1.4 확정 4종이 있다.
|
||||
await tester.tap(find.widgetWithText(FilledButton, '로그인'));
|
||||
await tester.pumpAndSettle();
|
||||
for (final provider in AuthRepository().providers) {
|
||||
expect(
|
||||
find.text(provider.provider.label),
|
||||
find.text(providerButtonLabel(provider.provider)),
|
||||
findsOneWidget,
|
||||
reason: provider.provider.name,
|
||||
);
|
||||
@@ -189,7 +192,12 @@ void main() {
|
||||
reason: '셸에 진입할 수 없어야 한다',
|
||||
);
|
||||
// 소셜 버튼은 그대로 있어야 한다 — 우회 입구만 막는 것이지 로그인을 막는 게 아니다.
|
||||
expect(find.text(SocialProvider.google.label), findsOneWidget);
|
||||
await tester.tap(find.widgetWithText(FilledButton, '로그인'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(
|
||||
find.text(providerButtonLabel(SocialProvider.google)),
|
||||
findsOneWidget,
|
||||
);
|
||||
});
|
||||
|
||||
testWidgets('디버그 빌드에서는 목 세션 버튼이 있다 (가드가 과하게 잠그지 않았는지)', (tester) async {
|
||||
@@ -197,6 +205,9 @@ void main() {
|
||||
FancakeApp(auth: AuthRepository(releaseMode: false)),
|
||||
);
|
||||
await tester.pumpAndSettle();
|
||||
// 목 세션 입구는 QA 폼과 같은 숨은 입구(로고 길게 누르기) 안에 있다.
|
||||
await tester.longPress(find.byKey(loginLogoKey));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('목 세션으로 탭 둘러보기'), findsOneWidget);
|
||||
});
|
||||
@@ -288,6 +299,8 @@ void main() {
|
||||
Future<void> _enterShell(WidgetTester tester) async {
|
||||
await tester.pumpWidget(FancakeApp(auth: AuthRepository()));
|
||||
await tester.pumpAndSettle();
|
||||
await tester.longPress(find.byKey(loginLogoKey));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
final enter = find.text('목 세션으로 탭 둘러보기');
|
||||
await tester.ensureVisible(enter);
|
||||
|
||||
Reference in New Issue
Block a user