forked from eatvio/eatvio_app
62 lines
2.1 KiB
Dart
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>());
|
|
});
|
|
});
|
|
}
|