Files
eatvio_app/test/core/env_config_test.dart
2026-01-26 16:38:15 +03:00

164 lines
5.3 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import 'package:eatvio_app/core/env_config.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', () {
test('has baseUrl getter', () {
expect(EnvConfig.baseUrl, isA<String>());
});
test('has devBaseUrl getter', () {
expect(EnvConfig.devBaseUrl, isA<String>());
});
test('has sentryDsn getter', () {
expect(EnvConfig.sentryDsn, isA<String>());
});
test('has appMetricaApiKey getter', () {
expect(EnvConfig.appMetricaApiKey, isA<String>());
});
test('has firebaseProjectId getter', () {
expect(EnvConfig.firebaseProjectId, isA<String>());
});
test('has firebaseDatabaseUrl getter', () {
expect(EnvConfig.firebaseDatabaseUrl, isA<String>());
});
test('has firebaseStorageBucket getter', () {
expect(EnvConfig.firebaseStorageBucket, isA<String>());
});
test('has firebaseMessagingSenderId getter', () {
expect(EnvConfig.firebaseMessagingSenderId, isA<String>());
});
test('has firebaseAndroidApiKey getter', () {
expect(EnvConfig.firebaseAndroidApiKey, isA<String>());
});
test('has firebaseAndroidAppId getter', () {
expect(EnvConfig.firebaseAndroidAppId, isA<String>());
});
test('has firebaseIosApiKey getter', () {
expect(EnvConfig.firebaseIosApiKey, isA<String>());
});
test('has firebaseIosAppId getter', () {
expect(EnvConfig.firebaseIosAppId, isA<String>());
});
test('has firebaseIosBundleId getter', () {
expect(EnvConfig.firebaseIosBundleId, isA<String>());
});
test('has appStoreUrl getter', () {
expect(EnvConfig.appStoreUrl, isA<String>());
});
test('has rustoreUrl getter', () {
expect(EnvConfig.rustoreUrl, isA<String>());
});
test('has telegramSupportUrl getter', () {
expect(EnvConfig.telegramSupportUrl, isA<String>());
});
test('has supportEmail getter', () {
expect(EnvConfig.supportEmail, isA<String>());
});
test('has testEmail getter', () {
expect(EnvConfig.testEmail, isA<String>());
});
test('has testPassword getter', () {
expect(EnvConfig.testPassword, isA<String>());
});
test('has emailValidationApiUrl getter', () {
expect(EnvConfig.emailValidationApiUrl, isA<String>());
});
test('has googleCheckUrl getter', () {
expect(EnvConfig.googleCheckUrl, isA<String>());
});
test('has yandexCheckUrl getter', () {
expect(EnvConfig.yandexCheckUrl, isA<String>());
});
test('has vkClientIdIos getter', () {
expect(EnvConfig.vkClientIdIos, isA<String>());
});
test('has vkClientIdAndroid getter', () {
expect(EnvConfig.vkClientIdAndroid, isA<String>());
});
test('has yandexClientId getter', () {
expect(EnvConfig.yandexClientId, isA<String>());
});
test('has yandexClientSecret getter', () {
expect(EnvConfig.yandexClientSecret, isA<String>());
});
test('has yandexRedirectUri getter', () {
expect(EnvConfig.yandexRedirectUri, isA<String>());
});
test('all getters return strings', () {
expect(EnvConfig.baseUrl, isA<String>());
expect(EnvConfig.devBaseUrl, isA<String>());
expect(EnvConfig.sentryDsn, isA<String>());
expect(EnvConfig.appMetricaApiKey, isA<String>());
expect(EnvConfig.firebaseProjectId, isA<String>());
expect(EnvConfig.firebaseDatabaseUrl, isA<String>());
expect(EnvConfig.firebaseStorageBucket, isA<String>());
expect(EnvConfig.firebaseMessagingSenderId, isA<String>());
expect(EnvConfig.firebaseAndroidApiKey, isA<String>());
expect(EnvConfig.firebaseAndroidAppId, isA<String>());
expect(EnvConfig.firebaseIosApiKey, isA<String>());
expect(EnvConfig.firebaseIosAppId, isA<String>());
expect(EnvConfig.firebaseIosBundleId, isA<String>());
expect(EnvConfig.appStoreUrl, isA<String>());
expect(EnvConfig.rustoreUrl, isA<String>());
expect(EnvConfig.telegramSupportUrl, isA<String>());
expect(EnvConfig.supportEmail, isA<String>());
expect(EnvConfig.testEmail, isA<String>());
expect(EnvConfig.testPassword, isA<String>());
expect(EnvConfig.emailValidationApiUrl, isA<String>());
expect(EnvConfig.googleCheckUrl, isA<String>());
expect(EnvConfig.yandexCheckUrl, isA<String>());
expect(EnvConfig.vkClientIdIos, isA<String>());
expect(EnvConfig.vkClientIdAndroid, isA<String>());
expect(EnvConfig.yandexClientId, isA<String>());
expect(EnvConfig.yandexClientSecret, isA<String>());
expect(EnvConfig.yandexRedirectUri, isA<String>());
});
test('getters return empty string when env variable is not set', () {
// В тестах мы загружаем только DEV_BASE_URL и BASE_URL
// Остальные должны вернуть пустую строку
expect(EnvConfig.sentryDsn, '');
expect(EnvConfig.appMetricaApiKey, '');
expect(EnvConfig.firebaseProjectId, '');
});
test('baseUrl and devBaseUrl are set from env', () {
expect(EnvConfig.baseUrl, 'http://localhost');
expect(EnvConfig.devBaseUrl, 'http://localhost');
});
});
}