This commit is contained in:
Mikhail Kilin
2026-01-31 03:48:50 +03:00
parent 1bf9b3d703
commit 644e36597d
37 changed files with 1070 additions and 600 deletions

View File

@@ -312,7 +312,7 @@ mod tests {
.selected_chat(123)
.build();
assert_eq!(app.selected_chat_id, Some(123));
assert_eq!(app.selected_chat_id, Some(ChatId::new(123)));
}
#[test]
@@ -323,7 +323,7 @@ mod tests {
.build();
assert!(app.is_editing());
assert_eq!(app.chat_state.selected_message_id(), Some(999));
assert_eq!(app.chat_state.selected_message_id(), Some(MessageId::new(999)));
assert_eq!(app.message_input, "Edited text");
}

View File

@@ -2,6 +2,7 @@
use std::collections::HashMap;
use tele_tui::tdlib::{ChatInfo, FolderInfo, MessageInfo, NetworkState};
use tele_tui::types::MessageId;
/// Упрощённый mock TDLib клиента для тестов
#[derive(Clone)]
@@ -124,22 +125,22 @@ impl FakeTdClient {
.push(SentMessage { chat_id, text: text.clone(), reply_to });
// Добавляем сообщение в список сообщений чата
let message = MessageInfo {
id: message_id,
sender_name: "You".to_string(),
is_outgoing: true,
content: text,
entities: vec![],
date: 1640000000,
edit_date: 0,
is_read: true,
can_be_edited: true,
can_be_deleted_only_for_self: true,
can_be_deleted_for_all_users: true,
reply_to: None,
forward_from: None,
reactions: vec![],
};
let message = MessageInfo::new(
MessageId::new(message_id),
"You".to_string(),
true, // is_outgoing
text,
vec![], // entities
1640000000, // date
0, // edit_date
true, // is_read
true, // can_be_edited
true, // can_be_deleted_only_for_self
true, // can_be_deleted_for_all_users
None, // reply_to
None, // forward_from
vec![], // reactions
);
self.messages
.entry(chat_id)
@@ -156,7 +157,7 @@ impl FakeTdClient {
// Обновляем сообщение в списке
if let Some(messages) = self.messages.get_mut(&chat_id) {
if let Some(msg) = messages.iter_mut().find(|m| m.id() == message_id) {
if let Some(msg) = messages.iter_mut().find(|m| m.id().as_i64() == message_id) {
msg.content.text = new_text;
msg.metadata.edit_date = msg.metadata.date + 60;
}
@@ -169,7 +170,7 @@ impl FakeTdClient {
// Удаляем сообщение из списка
if let Some(messages) = self.messages.get_mut(&chat_id) {
messages.retain(|m| m.id != message_id);
messages.retain(|m| m.id().as_i64() != message_id);
}
}
@@ -238,7 +239,7 @@ mod tests {
assert_eq!(client.sent_messages().len(), 1);
assert_eq!(client.sent_messages()[0].text, "Hello");
assert_eq!(client.get_messages(123).len(), 1);
assert_eq!(client.get_messages(123)[0].id, msg_id);
assert_eq!(client.get_messages(123)[0].id().as_i64(), msg_id);
}
#[test]
@@ -248,8 +249,8 @@ mod tests {
client.edit_message(123, msg_id, "Hello World".to_string());
assert_eq!(client.edited_messages().len(), 1);
assert_eq!(client.get_messages(123)[0].content, "Hello World");
assert!(client.get_messages(123)[0].edit_date > 0);
assert_eq!(client.get_messages(123)[0].content.text, "Hello World");
assert!(client.get_messages(123)[0].edit_date() > 0);
}
#[test]