feat(dependencies): add rxdart package and improve string extension methods for better handling of empty strings and gender parsing

This commit is contained in:
mso7nueh
2025-12-04 15:45:54 +03:00
parent 0cd8e662d9
commit 953230b387
100 changed files with 7202 additions and 14 deletions

View File

@@ -0,0 +1,30 @@
import 'package:eatvio_app/features/registration/models/location_model.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
group('LocationModel', () {
test('создает LocationModel с правильными значениями', () {
const model = LocationModel(
locations: ['Moscow', 'Saint Petersburg'],
responseBody: '{}',
);
expect(model.locations.length, 2);
expect(model.locations.first, 'Moscow');
expect(model.responseBody, '{}');
});
test('fromJson создает LocationModel из JSON', () {
final json = {
'locations': ['Moscow', 'Saint Petersburg'],
'response_body': '{}',
};
final model = LocationModel.fromJson(json);
expect(model.locations.length, 2);
expect(model.responseBody, '{}');
});
});
}

View File

@@ -0,0 +1,43 @@
import 'package:eatvio_app/features/registration/models/user_registration_model.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
group('UserRegistrationSheet', () {
test('создает UserRegistrationSheet с правильными значениями', () {
const model = UserRegistrationSheet(
firstName: 'John',
lastName: 'Doe',
email: 'john@example.com',
password: 'password123',
passwordConfirmation: 'password123',
birthdate: '1990-01-01',
gender: 'male',
location: 'Moscow',
responseBody: '{}',
lang: 'ru',
weight: 70,
height: 175,
phone: '+79001234567',
chestCircumference: 100,
waistCircumference: 80,
hipCircumference: 90,
bloodPressureUp: 120,
bloodPressureDown: 80,
hasHypo: 0,
hasHyper: 0,
aboutAllergy: 'No allergies',
aboutTakingPils: 'No pills',
aboutSportHobbies: 'Running',
favoriteFoods: 'Fruits',
unfavoriteFoods: 'Fast food',
additionalInfo: 'Additional info',
);
expect(model.firstName, 'John');
expect(model.email, 'john@example.com');
expect(model.weight, 70);
expect(model.termsAccepted, 'accepted');
});
});
}