import 'package:eatvio_app/core/env_config.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { group('EnvConfig', () { setUp(() async { // Загружаем тестовые переменные окружения dotenv.loadFromString(envString: ''' BASE_URL=https://api.example.com DEV_BASE_URL=https://dev-api.example.com SENTRY_DSN=https://sentry.example.com APPMETRICA_KEY=test-appmetrica-key FIREBASE_PROJECT_ID=test-project FIREBASE_DATABASE_URL=https://test.firebaseio.com FIREBASE_STORAGE_BUCKET=test.appspot.com FIREBASE_MESSAGING_SENDER_ID=123456789 FIREBASE_ANDROID_API_KEY=android-api-key FIREBASE_ANDROID_APP_ID=android-app-id FIREBASE_IOS_API_KEY=ios-api-key FIREBASE_IOS_APP_ID=ios-app-id FIREBASE_IOS_BUNDLE_ID=com.example.app APP_STORE_URL=https://apps.apple.com/app RUSTORE_URL=https://apps.rustore.ru/app TELEGRAM_SUPPORT_URL=https://t.me/support SUPPORT_EMAIL=support@example.com TEST_EMAIL=test@example.com TEST_PASSWORD=test123 EMAIL_VALIDATION_API_URL=https://api.emailvalidation.com GOOGLE_CHECK_URL=https://www.google.com YANDEX_CHECK_URL=https://ya.ru VK_CLIENT_ID_IOS=ios-vk-id VK_CLIENT_ID_ANDROID=android-vk-id YANDEX_CLIENT_ID=yandex-client-id YANDEX_CLIENT_SECRET=yandex-secret YANDEX_REDIRECT_URI=https://example.com/callback '''); }); test('baseUrl возвращает значение из окружения', () { expect(EnvConfig.baseUrl, 'https://api.example.com'); }); test('devBaseUrl возвращает значение из окружения', () { expect(EnvConfig.devBaseUrl, 'https://dev-api.example.com'); }); test('sentryDsn возвращает значение из окружения', () { expect(EnvConfig.sentryDsn, 'https://sentry.example.com'); }); test('appMetricaApiKey возвращает значение из окружения', () { expect(EnvConfig.appMetricaApiKey, 'test-appmetrica-key'); }); test('firebaseProjectId возвращает значение из окружения', () { expect(EnvConfig.firebaseProjectId, 'test-project'); }); test('firebaseDatabaseUrl возвращает значение из окружения', () { expect(EnvConfig.firebaseDatabaseUrl, 'https://test.firebaseio.com'); }); test('firebaseStorageBucket возвращает значение из окружения', () { expect(EnvConfig.firebaseStorageBucket, 'test.appspot.com'); }); test('firebaseMessagingSenderId возвращает значение из окружения', () { expect(EnvConfig.firebaseMessagingSenderId, '123456789'); }); test('firebaseAndroidApiKey возвращает значение из окружения', () { expect(EnvConfig.firebaseAndroidApiKey, 'android-api-key'); }); test('firebaseAndroidAppId возвращает значение из окружения', () { expect(EnvConfig.firebaseAndroidAppId, 'android-app-id'); }); test('firebaseIosApiKey возвращает значение из окружения', () { expect(EnvConfig.firebaseIosApiKey, 'ios-api-key'); }); test('firebaseIosAppId возвращает значение из окружения', () { expect(EnvConfig.firebaseIosAppId, 'ios-app-id'); }); test('firebaseIosBundleId возвращает значение из окружения', () { expect(EnvConfig.firebaseIosBundleId, 'com.example.app'); }); test('appStoreUrl возвращает значение из окружения', () { expect(EnvConfig.appStoreUrl, 'https://apps.apple.com/app'); }); test('rustoreUrl возвращает значение из окружения', () { expect(EnvConfig.rustoreUrl, 'https://apps.rustore.ru/app'); }); test('telegramSupportUrl возвращает значение из окружения', () { expect(EnvConfig.telegramSupportUrl, 'https://t.me/support'); }); test('supportEmail возвращает значение из окружения', () { expect(EnvConfig.supportEmail, 'support@example.com'); }); test('testEmail возвращает значение из окружения', () { expect(EnvConfig.testEmail, 'test@example.com'); }); test('testPassword возвращает значение из окружения', () { expect(EnvConfig.testPassword, 'test123'); }); test('emailValidationApiUrl возвращает значение из окружения', () { expect(EnvConfig.emailValidationApiUrl, 'https://api.emailvalidation.com'); }); test('googleCheckUrl возвращает значение из окружения', () { expect(EnvConfig.googleCheckUrl, 'https://www.google.com'); }); test('yandexCheckUrl возвращает значение из окружения', () { expect(EnvConfig.yandexCheckUrl, 'https://ya.ru'); }); test('vkClientIdIos возвращает значение из окружения', () { expect(EnvConfig.vkClientIdIos, 'ios-vk-id'); }); test('vkClientIdAndroid возвращает значение из окружения', () { expect(EnvConfig.vkClientIdAndroid, 'android-vk-id'); }); test('yandexClientId возвращает значение из окружения', () { expect(EnvConfig.yandexClientId, 'yandex-client-id'); }); test('yandexClientSecret возвращает значение из окружения', () { expect(EnvConfig.yandexClientSecret, 'yandex-secret'); }); test('yandexRedirectUri возвращает значение из окружения', () { expect(EnvConfig.yandexRedirectUri, 'https://example.com/callback'); }); test('возвращает пустую строку если переменная не установлена', () async { try { dotenv.loadFromString(envString: ''); } catch (e) { // EmptyEnvFileError ожидается для пустого файла expect(e, isNotNull); } // После ошибки переменные будут пустыми expect(EnvConfig.baseUrl, ''); expect(EnvConfig.devBaseUrl, ''); }); }); }