MY 화면에 로그아웃(확인 후 로그인 화면으로 복귀) 추가
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
import 'package:fancake/app.dart';
|
||||
import 'package:fancake/features/auth/auth_repository.dart';
|
||||
|
||||
/// MY 에서 로그아웃하면 로그인 화면으로 돌아간다 — 한 기기에서 로그인 방법을 바꿔 확인할 수 있어야 한다.
|
||||
void main() {
|
||||
testWidgets('MY → 로그아웃 → 확인 → 로그인 화면, 취소면 그대로', (tester) async {
|
||||
final auth = AuthRepository(releaseMode: false)..signInWithMockSession();
|
||||
await tester.pumpWidget(FancakeApp(auth: auth));
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(find.text('MY'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
await tester.tap(find.widgetWithText(OutlinedButton, '로그아웃'));
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(find.text('취소'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(auth.isSignedIn, isTrue);
|
||||
|
||||
await tester.tap(find.widgetWithText(OutlinedButton, '로그아웃'));
|
||||
await tester.pumpAndSettle();
|
||||
await tester.tap(find.widgetWithText(FilledButton, '로그아웃'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(auth.isSignedIn, isFalse);
|
||||
expect(find.byType(NavigationBar), findsNothing);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user