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

@@ -4,6 +4,7 @@ mod helpers;
use helpers::fake_tdclient::FakeTdClient;
use helpers::test_data::TestMessageBuilder;
use tele_tui::types::MessageId;
/// Test: Удаление сообщения убирает его из списка
#[test]
@@ -51,8 +52,8 @@ fn test_delete_multiple_messages() {
// Проверяем что осталось только второе сообщение
let messages = client.get_messages(123);
assert_eq!(messages.len(), 1);
assert_eq!(messages[0].id, msg2_id);
assert_eq!(messages[0].content.text(), "Message 2");
assert_eq!(messages[0].id(), MessageId::new(msg2_id));
assert_eq!(messages[0].content.text, "Message 2");
}
/// Test: Удаление только своих сообщений (проверка через can_be_deleted_for_all_users)
@@ -74,12 +75,12 @@ fn test_can_only_delete_own_messages_for_all() {
// Проверяем флаги удаления
let messages = client.get_messages(123);
assert_eq!(messages[0].can_be_deleted_for_all_users, true); // Наше
assert_eq!(messages[1].can_be_deleted_for_all_users, false); // Чужое
assert_eq!(messages[0].can_be_deleted_for_all_users(), true); // Наше
assert_eq!(messages[1].can_be_deleted_for_all_users(), false); // Чужое
// Оба можно удалить для себя
assert_eq!(messages[0].can_be_deleted_only_for_self, true);
assert_eq!(messages[1].can_be_deleted_only_for_self, true);
assert_eq!(messages[0].can_be_deleted_only_for_self(), true);
assert_eq!(messages[1].can_be_deleted_only_for_self(), true);
}
/// Test: Удаление несуществующего сообщения (ничего не происходит)
@@ -102,7 +103,7 @@ fn test_delete_nonexistent_message() {
// Но существующее сообщение осталось
let messages = client.get_messages(123);
assert_eq!(messages.len(), 1);
assert_eq!(messages[0].id, msg_id);
assert_eq!(messages[0].id(), MessageId::new(msg_id));
}
/// Test: Подтверждение удаления (симуляция модалки)
@@ -144,6 +145,6 @@ fn test_cancel_delete_keeps_message() {
// Сообщение на месте
let messages = client.get_messages(123);
assert_eq!(messages[0].id, msg_id);
assert_eq!(messages[0].content.text(), "Keep me");
assert_eq!(messages[0].id(), MessageId::new(msg_id));
assert_eq!(messages[0].content.text, "Keep me");
}