forked from baron/baron-sso
userfront 연동이력 맞춤
This commit is contained in:
64
userfront/test/error_screen_test.dart
Normal file
64
userfront/test/error_screen_test.dart
Normal file
@@ -0,0 +1,64 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:userfront/features/auth/presentation/error_screen.dart';
|
||||
|
||||
Future<void> _pumpErrorScreen(
|
||||
WidgetTester tester, {
|
||||
String? errorCode,
|
||||
String? description,
|
||||
bool? isProdOverride,
|
||||
}) async {
|
||||
await tester.pumpWidget(
|
||||
MaterialApp(
|
||||
home: ErrorScreen(
|
||||
errorCode: errorCode,
|
||||
description: description,
|
||||
isProdOverride: isProdOverride,
|
||||
),
|
||||
),
|
||||
);
|
||||
await tester.pump();
|
||||
}
|
||||
|
||||
void main() {
|
||||
testWidgets('개발환경은 원문 메시지를 노출한다', (WidgetTester tester) async {
|
||||
await _pumpErrorScreen(
|
||||
tester,
|
||||
errorCode: 'custom_error',
|
||||
description: '원문 메시지',
|
||||
isProdOverride: false,
|
||||
);
|
||||
|
||||
expect(find.text('오류: custom_error'), findsOneWidget);
|
||||
expect(find.text('원문 메시지'), findsOneWidget);
|
||||
expect(find.text('오류 종류: custom_error'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('프로덕션은 whitelist 메시지를 노출한다', (WidgetTester tester) async {
|
||||
await _pumpErrorScreen(
|
||||
tester,
|
||||
errorCode: 'settings_disabled',
|
||||
description: '원문 메시지',
|
||||
isProdOverride: true,
|
||||
);
|
||||
|
||||
expect(find.text('인증 과정에서 오류가 발생했습니다'), findsOneWidget);
|
||||
expect(find.text('현재 계정 설정 화면은 준비 중입니다.'), findsOneWidget);
|
||||
expect(find.text('원문 메시지'), findsNothing);
|
||||
expect(find.text('오류 종류: settings_disabled'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('프로덕션은 비허용 에러를 unknown_error로 처리한다', (WidgetTester tester) async {
|
||||
await _pumpErrorScreen(
|
||||
tester,
|
||||
errorCode: 'weird_error',
|
||||
description: '원문 메시지',
|
||||
isProdOverride: true,
|
||||
);
|
||||
|
||||
expect(find.text('인증 과정에서 오류가 발생했습니다'), findsOneWidget);
|
||||
expect(find.text('에러가 계속되면 관리자에게 문의해주세요'), findsOneWidget);
|
||||
expect(find.text('원문 메시지'), findsNothing);
|
||||
expect(find.text('오류 종류: unknown_error'), findsOneWidget);
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user