test(app): add geocoding and restaurant card coverage
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
// ignore_for_file: depend_on_referenced_packages
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:lunchpick/data/datasources/remote/naver_search_service.dart';
|
||||
import 'package:lunchpick/data/datasources/remote/naver_map_parser.dart';
|
||||
@@ -5,6 +9,15 @@ import 'package:lunchpick/data/api/naver_api_client.dart';
|
||||
import 'package:lunchpick/data/api/naver/naver_local_search_api.dart';
|
||||
import 'package:lunchpick/domain/entities/restaurant.dart';
|
||||
import 'package:lunchpick/core/errors/network_exceptions.dart';
|
||||
import 'package:path_provider_platform_interface/path_provider_platform_interface.dart';
|
||||
|
||||
class _FakePathProvider extends PathProviderPlatform {
|
||||
@override
|
||||
Future<String?> getTemporaryPath() async {
|
||||
final tempDir = await Directory.systemTemp.createTemp('naver_search_test_');
|
||||
return tempDir.path;
|
||||
}
|
||||
}
|
||||
|
||||
// Mock 클래스들
|
||||
class MockNaverApiClient extends NaverApiClient {
|
||||
@@ -75,6 +88,9 @@ class MockNaverApiClient extends NaverApiClient {
|
||||
void dispose() {
|
||||
disposeCalled = true;
|
||||
}
|
||||
|
||||
@override
|
||||
Future<String> resolveShortUrl(String shortUrl) async => shortUrl;
|
||||
}
|
||||
|
||||
class MockNaverMapParser extends NaverMapParser {
|
||||
@@ -123,6 +139,11 @@ void main() {
|
||||
late MockNaverApiClient mockApiClient;
|
||||
late MockNaverMapParser mockMapParser;
|
||||
|
||||
setUpAll(() {
|
||||
TestWidgetsFlutterBinding.ensureInitialized();
|
||||
PathProviderPlatform.instance = _FakePathProvider();
|
||||
});
|
||||
|
||||
setUp(() {
|
||||
mockApiClient = MockNaverApiClient();
|
||||
mockMapParser = MockNaverMapParser();
|
||||
|
||||
Reference in New Issue
Block a user