forked from eatvio/eatvio_app
49 lines
1.5 KiB
Dart
49 lines
1.5 KiB
Dart
import 'package:eatvio_app/features/chat/models/chat_message_model.dart';
|
||
import 'package:flutter_test/flutter_test.dart';
|
||
import '../../../fixtures/fixture_reader.dart';
|
||
|
||
void main() {
|
||
group('ChatMessageModel', () {
|
||
test('создает ChatMessageModel с правильными значениями', () {
|
||
final model = ChatMessageModel(
|
||
id: 1,
|
||
data: 'Test message',
|
||
mediaData: null,
|
||
authorId: 123,
|
||
updatedAt: DateTime(2024, 1, 1),
|
||
isRead: false,
|
||
isCurrentUserAuthor: true,
|
||
roomId: 'room-1',
|
||
);
|
||
|
||
expect(model.id, 1);
|
||
expect(model.data, 'Test message');
|
||
expect(model.authorId, 123);
|
||
expect(model.isRead, false);
|
||
expect(model.messageState, MessageState.sent);
|
||
});
|
||
|
||
test('fromJson создает ChatMessageModel из JSON', () {
|
||
final json = FixtureReader.readAsMap('chat/chat_message_response.json');
|
||
|
||
final model = ChatMessageModel.fromJson(json);
|
||
|
||
expect(model.id, 1);
|
||
expect(model.data, 'Test message');
|
||
expect(model.authorId, 1);
|
||
});
|
||
|
||
test('fromJson создает ChatMessageModel с медиа из JSON', () {
|
||
final json = FixtureReader.readAsMap('chat/chat_message_with_media_response.json');
|
||
|
||
final model = ChatMessageModel.fromJson(json);
|
||
|
||
expect(model.id, 2);
|
||
expect(model.data, 'Message with attachment');
|
||
expect(model.mediaData, isNotNull);
|
||
expect(model.mediaData!.length, 1);
|
||
});
|
||
});
|
||
}
|
||
|