Build mock directory UI
This commit is contained in:
@@ -22,6 +22,67 @@ void main() {
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('직원검색'), findsWidgets);
|
||||
expect(find.text('전화번호검색'), findsOneWidget);
|
||||
expect(find.text('김하늘'), findsOneWidget);
|
||||
expect(find.text('검색 결과 5명'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('filters employees by search query', (WidgetTester tester) async {
|
||||
await _openDirectory(tester);
|
||||
|
||||
await tester.enterText(find.byType(TextField), '서준');
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('박서준'), findsOneWidget);
|
||||
expect(find.text('김하늘'), findsNothing);
|
||||
expect(find.text('검색 결과 1명'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('filters employees by tenant chip', (WidgetTester tester) async {
|
||||
await _openDirectory(tester);
|
||||
|
||||
await tester.tap(find.text('TDC'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('이도윤'), findsOneWidget);
|
||||
expect(find.text('정수빈'), findsOneWidget);
|
||||
expect(find.text('김하늘'), findsNothing);
|
||||
expect(find.text('검색 결과 2명'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('shows favorite employees view', (WidgetTester tester) async {
|
||||
await _openDirectory(tester);
|
||||
|
||||
await tester.tap(find.text('즐겨찾기'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('김하늘'), findsOneWidget);
|
||||
expect(find.text('박서준'), findsNothing);
|
||||
expect(find.text('검색 결과 1명'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('opens employee detail bottom sheet', (
|
||||
WidgetTester tester,
|
||||
) async {
|
||||
await _openDirectory(tester);
|
||||
|
||||
await tester.tap(find.text('김하늘'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('haneul.kim@example.com'), findsOneWidget);
|
||||
expect(find.text('전화'), findsOneWidget);
|
||||
expect(find.text('문자'), findsOneWidget);
|
||||
});
|
||||
}
|
||||
|
||||
Future<void> _openDirectory(WidgetTester tester) async {
|
||||
await tester.pumpWidget(const ProviderScope(child: Tdc114PlusApp()));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
if (find.text('직원검색').evaluate().isNotEmpty) {
|
||||
return;
|
||||
}
|
||||
|
||||
await tester.enterText(find.byType(TextField), '01012345678');
|
||||
await tester.tap(find.text('로그인'));
|
||||
await tester.pumpAndSettle();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user