Files
eatvio_app/test/core/app_initializer_test.dart
2026-04-30 06:41:07 +03:00

62 lines
2.1 KiB
Dart

import 'package:eatvio_app/core/app_initializer.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
group('AppBuildType', () {
test('has prod value', () {
expect(AppBuildType.prod, AppBuildType.prod);
});
test('has tests value', () {
expect(AppBuildType.tests, AppBuildType.tests);
});
test('has dev value', () {
expect(AppBuildType.dev, AppBuildType.dev);
});
test('all values are distinct', () {
expect(AppBuildType.prod != AppBuildType.tests, true);
expect(AppBuildType.prod != AppBuildType.dev, true);
expect(AppBuildType.tests != AppBuildType.dev, true);
});
test('enum has all expected values', () {
expect(AppBuildType.values.length, 3);
expect(AppBuildType.values, contains(AppBuildType.prod));
expect(AppBuildType.values, contains(AppBuildType.tests));
expect(AppBuildType.values, contains(AppBuildType.dev));
});
test('enum can be compared', () {
expect(AppBuildType.prod == AppBuildType.prod, true);
expect(AppBuildType.prod == AppBuildType.dev, false);
expect(AppBuildType.tests == AppBuildType.dev, false);
});
});
group('AppInitializer', () {
test('is a class', () {
expect(AppInitializer, isA<Type>());
});
test('has initialize static method', () {
expect(AppInitializer.initialize, isA<Function>());
});
test('has runAppWithSentry static method', () {
expect(AppInitializer.runAppWithSentry, isA<Function>());
});
test('initialize accepts buildType parameter', () {
// Проверяем что метод принимает именованный параметр buildType
// без реального вызова (реальный initialize запускает DI, таймеры,
// подписки и HTTP-запросы, которые невозможно корректно закрыть в тестах)
const method = AppInitializer.initialize;
expect(method, isA<Function>());
});
});
}