forked from eatvio/eatvio_app
102 lines
2.7 KiB
Dart
102 lines
2.7 KiB
Dart
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';
|
||
|
||
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 = {
|
||
'id': 'room-1',
|
||
'chat_room_setting': {
|
||
'room_name': 'Room Name',
|
||
'state': 'active',
|
||
},
|
||
'users': {
|
||
'from_chat_user': {
|
||
'id': 1,
|
||
'name': 'Sender',
|
||
'slug': 'sender',
|
||
'profile_photo_url': 'https://example.com/sender.jpg',
|
||
},
|
||
'to_chat_user': {
|
||
'id': 2,
|
||
'name': 'Receiver',
|
||
'slug': 'receiver',
|
||
'profile_photo_url': 'https://example.com/receiver.jpg',
|
||
},
|
||
},
|
||
'chosen_plan_id': 1,
|
||
'chosen_plan': null,
|
||
};
|
||
|
||
final model = ChatRoomModel.fromJson(json);
|
||
|
||
expect(model.id, 'room-1');
|
||
expect(model.chosenPlanId, 1);
|
||
expect(model.users.sender.id, 1);
|
||
expect(model.users.receiver.id, 2);
|
||
});
|
||
});
|
||
|
||
group('Users', () {
|
||
test('fromJson создает Users из JSON', () {
|
||
final json = {
|
||
'from_chat_user': {
|
||
'id': 1,
|
||
'name': 'Sender',
|
||
'slug': 'sender',
|
||
'profile_photo_url': 'https://example.com/sender.jpg',
|
||
},
|
||
'to_chat_user': {
|
||
'id': 2,
|
||
'name': 'Receiver',
|
||
'slug': 'receiver',
|
||
'profile_photo_url': 'https://example.com/receiver.jpg',
|
||
},
|
||
};
|
||
|
||
final users = Users.fromJson(json);
|
||
|
||
expect(users.sender.id, 1);
|
||
expect(users.receiver.id, 2);
|
||
});
|
||
});
|
||
}
|
||
|