LunchPick(오늘 뭐 먹Z?) Flutter 앱의 초기 구현입니다. 주요 기능: - 네이버 지도 연동 맛집 추가 - 랜덤 메뉴 추천 시스템 - 날씨 기반 거리 조정 - 방문 기록 관리 - Bluetooth 맛집 공유 - 다크모드 지원 기술 스택: - Flutter 3.8.1+ - Riverpod 상태 관리 - Hive 로컬 DB - Clean Architecture 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
44 lines
1.4 KiB
Dart
44 lines
1.4 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:lunchpick/presentation/pages/restaurant_list/widgets/add_restaurant_dialog.dart';
|
|
|
|
void main() {
|
|
group('AddRestaurantDialog Test', () {
|
|
testWidgets('다이얼로그에 탭이 표시되는지 확인', (WidgetTester tester) async {
|
|
await tester.pumpWidget(
|
|
const ProviderScope(
|
|
child: MaterialApp(
|
|
home: Scaffold(
|
|
body: AddRestaurantDialog(),
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
// 탭이 표시되는지 확인
|
|
expect(find.text('직접 입력'), findsOneWidget);
|
|
expect(find.text('네이버 지도에서 가져오기'), findsOneWidget);
|
|
});
|
|
|
|
testWidgets('네이버 지도 탭으로 전환이 되는지 확인', (WidgetTester tester) async {
|
|
await tester.pumpWidget(
|
|
const ProviderScope(
|
|
child: MaterialApp(
|
|
home: Scaffold(
|
|
body: AddRestaurantDialog(),
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
// 네이버 지도 탭 클릭
|
|
await tester.tap(find.text('네이버 지도에서 가져오기'));
|
|
await tester.pumpAndSettle();
|
|
|
|
// URL 입력 필드가 표시되는지 확인
|
|
expect(find.text('네이버 지도 URL'), findsOneWidget);
|
|
expect(find.text('가져오기'), findsOneWidget);
|
|
});
|
|
});
|
|
} |