chore(version): update app version to 1.3.5+85 and improve test coverage reporting in CI

This commit is contained in:
mso7nueh
2025-12-08 11:19:08 +03:00
parent abe4985f0e
commit c2a506cdbf
148 changed files with 12395 additions and 1889 deletions

View File

@@ -1,161 +1,120 @@
import 'package:eatvio_app/core/env_config.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
void main() {
setUpAll(() async {
// Initialize dotenv for tests
dotenv.loadFromString(envString: 'DEV_BASE_URL=http://localhost\nBASE_URL=http://localhost');
});
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('has baseUrl getter', () {
expect(EnvConfig.baseUrl, isA<String>());
});
test('baseUrl возвращает значение из окружения', () {
expect(EnvConfig.baseUrl, 'https://api.example.com');
test('has devBaseUrl getter', () {
expect(EnvConfig.devBaseUrl, isA<String>());
});
test('devBaseUrl возвращает значение из окружения', () {
expect(EnvConfig.devBaseUrl, 'https://dev-api.example.com');
test('has sentryDsn getter', () {
expect(EnvConfig.sentryDsn, isA<String>());
});
test('sentryDsn возвращает значение из окружения', () {
expect(EnvConfig.sentryDsn, 'https://sentry.example.com');
test('has appMetricaApiKey getter', () {
expect(EnvConfig.appMetricaApiKey, isA<String>());
});
test('appMetricaApiKey возвращает значение из окружения', () {
expect(EnvConfig.appMetricaApiKey, 'test-appmetrica-key');
test('has firebaseProjectId getter', () {
expect(EnvConfig.firebaseProjectId, isA<String>());
});
test('firebaseProjectId возвращает значение из окружения', () {
expect(EnvConfig.firebaseProjectId, 'test-project');
test('has firebaseDatabaseUrl getter', () {
expect(EnvConfig.firebaseDatabaseUrl, isA<String>());
});
test('firebaseDatabaseUrl возвращает значение из окружения', () {
expect(EnvConfig.firebaseDatabaseUrl, 'https://test.firebaseio.com');
test('has firebaseStorageBucket getter', () {
expect(EnvConfig.firebaseStorageBucket, isA<String>());
});
test('firebaseStorageBucket возвращает значение из окружения', () {
expect(EnvConfig.firebaseStorageBucket, 'test.appspot.com');
test('has firebaseMessagingSenderId getter', () {
expect(EnvConfig.firebaseMessagingSenderId, isA<String>());
});
test('firebaseMessagingSenderId возвращает значение из окружения', () {
expect(EnvConfig.firebaseMessagingSenderId, '123456789');
test('has firebaseAndroidApiKey getter', () {
expect(EnvConfig.firebaseAndroidApiKey, isA<String>());
});
test('firebaseAndroidApiKey возвращает значение из окружения', () {
expect(EnvConfig.firebaseAndroidApiKey, 'android-api-key');
test('has firebaseAndroidAppId getter', () {
expect(EnvConfig.firebaseAndroidAppId, isA<String>());
});
test('firebaseAndroidAppId возвращает значение из окружения', () {
expect(EnvConfig.firebaseAndroidAppId, 'android-app-id');
test('has firebaseIosApiKey getter', () {
expect(EnvConfig.firebaseIosApiKey, isA<String>());
});
test('firebaseIosApiKey возвращает значение из окружения', () {
expect(EnvConfig.firebaseIosApiKey, 'ios-api-key');
test('has firebaseIosAppId getter', () {
expect(EnvConfig.firebaseIosAppId, isA<String>());
});
test('firebaseIosAppId возвращает значение из окружения', () {
expect(EnvConfig.firebaseIosAppId, 'ios-app-id');
test('has firebaseIosBundleId getter', () {
expect(EnvConfig.firebaseIosBundleId, isA<String>());
});
test('firebaseIosBundleId возвращает значение из окружения', () {
expect(EnvConfig.firebaseIosBundleId, 'com.example.app');
test('has appStoreUrl getter', () {
expect(EnvConfig.appStoreUrl, isA<String>());
});
test('appStoreUrl возвращает значение из окружения', () {
expect(EnvConfig.appStoreUrl, 'https://apps.apple.com/app');
test('has rustoreUrl getter', () {
expect(EnvConfig.rustoreUrl, isA<String>());
});
test('rustoreUrl возвращает значение из окружения', () {
expect(EnvConfig.rustoreUrl, 'https://apps.rustore.ru/app');
test('has telegramSupportUrl getter', () {
expect(EnvConfig.telegramSupportUrl, isA<String>());
});
test('telegramSupportUrl возвращает значение из окружения', () {
expect(EnvConfig.telegramSupportUrl, 'https://t.me/support');
test('has supportEmail getter', () {
expect(EnvConfig.supportEmail, isA<String>());
});
test('supportEmail возвращает значение из окружения', () {
expect(EnvConfig.supportEmail, 'support@example.com');
test('has testEmail getter', () {
expect(EnvConfig.testEmail, isA<String>());
});
test('testEmail возвращает значение из окружения', () {
expect(EnvConfig.testEmail, 'test@example.com');
test('has testPassword getter', () {
expect(EnvConfig.testPassword, isA<String>());
});
test('testPassword возвращает значение из окружения', () {
expect(EnvConfig.testPassword, 'test123');
test('has emailValidationApiUrl getter', () {
expect(EnvConfig.emailValidationApiUrl, isA<String>());
});
test('emailValidationApiUrl возвращает значение из окружения', () {
expect(EnvConfig.emailValidationApiUrl, 'https://api.emailvalidation.com');
test('has googleCheckUrl getter', () {
expect(EnvConfig.googleCheckUrl, isA<String>());
});
test('googleCheckUrl возвращает значение из окружения', () {
expect(EnvConfig.googleCheckUrl, 'https://www.google.com');
test('has yandexCheckUrl getter', () {
expect(EnvConfig.yandexCheckUrl, isA<String>());
});
test('yandexCheckUrl возвращает значение из окружения', () {
expect(EnvConfig.yandexCheckUrl, 'https://ya.ru');
test('has vkClientIdIos getter', () {
expect(EnvConfig.vkClientIdIos, isA<String>());
});
test('vkClientIdIos возвращает значение из окружения', () {
expect(EnvConfig.vkClientIdIos, 'ios-vk-id');
test('has vkClientIdAndroid getter', () {
expect(EnvConfig.vkClientIdAndroid, isA<String>());
});
test('vkClientIdAndroid возвращает значение из окружения', () {
expect(EnvConfig.vkClientIdAndroid, 'android-vk-id');
test('has yandexClientId getter', () {
expect(EnvConfig.yandexClientId, isA<String>());
});
test('yandexClientId возвращает значение из окружения', () {
expect(EnvConfig.yandexClientId, 'yandex-client-id');
test('has yandexClientSecret getter', () {
expect(EnvConfig.yandexClientSecret, isA<String>());
});
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, '');
test('has yandexRedirectUri getter', () {
expect(EnvConfig.yandexRedirectUri, isA<String>());
});
});
}