feat(tests): updated tests coverage to 66.5%

This commit is contained in:
misha
2026-01-14 18:47:11 +03:00
parent 497ff19cfa
commit 13ccf56df0
102 changed files with 10146 additions and 379 deletions

View File

@@ -0,0 +1,80 @@
import 'package:eatvio_app/features/menu/models/notification_settings_model.dart';
import 'package:eatvio_app/features/menu/presentation/bloc/notification_settings_cubit/notification_settings_state.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
group('NotificationSettingsState', () {
test('NotificationSettingsStateLoading has empty props', () {
const state = NotificationSettingsStateLoading();
expect(state.props, isEmpty);
});
test('NotificationSettingsStateLoaded includes notificationSettings in props', () {
const settings = NotificationSettingsModel(
newUpdatesNotification: true,
weightMeasurementsNotification: false,
isEmailNotificationsEnabled: true,
isPushNotificationsEnabled: false,
diaryReminderNotifications: DiaryReminderNotifications(
firstReminder: ReminderSettings(enabled: true, localTimeHours: 9, localTimeMins: 0),
secondReminder: ReminderSettings(enabled: false, localTimeHours: 12, localTimeMins: 0),
thirdReminder: ReminderSettings(enabled: false, localTimeHours: 18, localTimeMins: 0),
),
);
const state = NotificationSettingsStateLoaded(notificationSettings: settings);
expect(state.props, [settings]);
expect(state.notificationSettings, settings);
});
test('NotificationSettingsStateError includes errorMessage in props', () {
const state = NotificationSettingsStateError(errorMessage: 'Test error');
expect(state.props, ['Test error']);
expect(state.errorMessage, 'Test error');
});
test('NotificationSettingsStateLoaded equality works correctly', () {
const reminderSettings = ReminderSettings(enabled: true, localTimeHours: 9, localTimeMins: 0);
const diaryReminders = DiaryReminderNotifications(firstReminder: reminderSettings, secondReminder: reminderSettings, thirdReminder: reminderSettings);
const settings1 = NotificationSettingsModel(
newUpdatesNotification: true,
weightMeasurementsNotification: false,
isEmailNotificationsEnabled: true,
isPushNotificationsEnabled: false,
diaryReminderNotifications: diaryReminders,
);
const settings2 = NotificationSettingsModel(
newUpdatesNotification: true,
weightMeasurementsNotification: false,
isEmailNotificationsEnabled: true,
isPushNotificationsEnabled: false,
diaryReminderNotifications: diaryReminders,
);
const settings3 = NotificationSettingsModel(
newUpdatesNotification: false,
weightMeasurementsNotification: true,
isEmailNotificationsEnabled: false,
isPushNotificationsEnabled: true,
diaryReminderNotifications: diaryReminders,
);
const state1 = NotificationSettingsStateLoaded(notificationSettings: settings1);
const state2 = NotificationSettingsStateLoaded(notificationSettings: settings2);
const state3 = NotificationSettingsStateLoaded(notificationSettings: settings3);
expect(state1, equals(state2));
expect(state1, isNot(equals(state3)));
});
test('NotificationSettingsStateError equality works correctly', () {
const state1 = NotificationSettingsStateError(errorMessage: 'Error 1');
const state2 = NotificationSettingsStateError(errorMessage: 'Error 1');
const state3 = NotificationSettingsStateError(errorMessage: 'Error 2');
expect(state1, equals(state2));
expect(state1, isNot(equals(state3)));
});
});
}