import 'package:eatvio_app/features/chat/models/chat_room_model.dart'; import 'package:eatvio_app/features/chat/models/chat_room_settings_model.dart'; import 'package:eatvio_app/features/chat/models/chat_user_model.dart'; import 'package:flutter_test/flutter_test.dart'; import '../../../fixtures/fixture_reader.dart'; void main() { group('ChatRoomModel', () { test('создает ChatRoomModel с правильными значениями', () { const settings = ChatRoomSettingsModel( name: 'Room Name', state: 'active', ); const sender = ChatUserModel( id: 1, name: 'Sender', slug: 'sender', profilePhotoUrl: 'https://example.com/sender.jpg', ); const receiver = ChatUserModel( id: 2, name: 'Receiver', slug: 'receiver', profilePhotoUrl: 'https://example.com/receiver.jpg', ); const users = Users(sender: sender, receiver: receiver); const model = ChatRoomModel( id: 'room-1', chatRoomSettings: settings, users: users, chosenPlanId: 1, chosenPlan: null, ); expect(model.id, 'room-1'); expect(model.chosenPlanId, 1); expect(model.users.sender.id, 1); }); test('fromJson создает ChatRoomModel из JSON', () { final json = FixtureReader.readAsMap('chat/chat_room_response.json'); final model = ChatRoomModel.fromJson(json); expect(model.id, 'chat-1'); expect(model.chosenPlanId, null); expect(model.users.sender.id, 1); expect(model.users.receiver.id, 2); }); }); group('Users', () { test('fromJson создает Users из JSON', () { final roomJson = FixtureReader.readAsMap('chat/chat_room_response.json'); final usersJson = roomJson['users'] as Map; final users = Users.fromJson(usersJson); expect(users.sender.id, 1); expect(users.receiver.id, 2); }); }); }