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

@@ -37,8 +37,8 @@ fn test_toggle_reaction_removes_it() {
// Проверяем что реакция есть
let messages_before = client.get_messages(123);
assert_eq!(messages_before[0].reactions.len(), 1);
assert_eq!(messages_before[0].reactions[0].is_chosen, true);
assert_eq!(messages_before[0].reactions().len(), 1);
assert_eq!(messages_before[0].reactions()[0].is_chosen, true);
// Симулируем удаление реакции (в реальном App это toggle)
// FakeTdClient просто записывает что реакция была "убрана"
@@ -51,7 +51,7 @@ fn test_toggle_reaction_removes_it() {
client.messages.insert(123, vec![msg_after]);
let messages_after = client.get_messages(123);
assert_eq!(messages_after[0].reactions.len(), 0);
assert_eq!(messages_after[0].reactions().len(), 0);
}
/// Test: Множественные реакции на одно сообщение
@@ -89,7 +89,7 @@ fn test_reactions_from_multiple_users() {
client = client.with_message(123, msg);
let messages = client.get_messages(123);
let reaction = &messages[0].reactions[0];
let reaction = &messages[0].reactions()[0];
assert_eq!(reaction.emoji, "👍");
assert_eq!(reaction.count, 3);
@@ -109,7 +109,7 @@ fn test_own_reaction_is_chosen() {
client = client.with_message(123, msg);
let messages = client.get_messages(123);
let reaction = &messages[0].reactions[0];
let reaction = &messages[0].reactions()[0];
assert_eq!(reaction.is_chosen, true);
// В UI это будет отображаться в рамках: [❤️]
@@ -128,7 +128,7 @@ fn test_other_reaction_not_chosen() {
client = client.with_message(123, msg);
let messages = client.get_messages(123);
let reaction = &messages[0].reactions[0];
let reaction = &messages[0].reactions()[0];
assert_eq!(reaction.is_chosen, false);
// В UI это будет отображаться без рамок: 😂 2
@@ -154,7 +154,7 @@ fn test_reaction_counter_increases() {
client.messages.insert(123, vec![msg_v2]);
let messages = client.get_messages(123);
assert_eq!(messages[0].reactions[0].count, 5);
assert_eq!(messages[0].reactions()[0].count, 5);
}
/// Test: Обновление реакции - мы добавили свою к существующим
@@ -177,7 +177,7 @@ fn test_update_reaction_we_add_ours() {
client.messages.insert(123, vec![msg_after]);
let messages = client.get_messages(123);
let reaction = &messages[0].reactions[0];
let reaction = &messages[0].reactions()[0];
assert_eq!(reaction.count, 3);
assert_eq!(reaction.is_chosen, true);
@@ -195,7 +195,7 @@ fn test_single_reaction_shows_only_emoji() {
client = client.with_message(123, msg);
let messages = client.get_messages(123);
let reaction = &messages[0].reactions[0];
let reaction = &messages[0].reactions()[0];
assert_eq!(reaction.count, 1);
// В UI: если count=1, показываем только emoji без цифры
@@ -228,16 +228,16 @@ fn test_reactions_on_multiple_messages() {
let messages = client.get_messages(123);
// Первое: 1 реакция
assert_eq!(messages[0].reactions.len(), 1);
assert_eq!(messages[0].reactions[0].emoji, "👍");
assert_eq!(messages[0].reactions().len(), 1);
assert_eq!(messages[0].reactions()[0].emoji, "👍");
// Второе: 1 реакция
assert_eq!(messages[1].reactions.len(), 1);
assert_eq!(messages[1].reactions[0].emoji, "❤️");
assert_eq!(messages[1].reactions().len(), 1);
assert_eq!(messages[1].reactions()[0].emoji, "❤️");
// Третье: 2 реакции
assert_eq!(messages[2].reactions.len(), 2);
assert_eq!(messages[2].reactions[0].emoji, "😂");
assert_eq!(messages[2].reactions[1].emoji, "🔥");
assert_eq!(messages[2].reactions[1].is_chosen, true);
assert_eq!(messages[2].reactions().len(), 2);
assert_eq!(messages[2].reactions()[0].emoji, "😂");
assert_eq!(messages[2].reactions()[1].emoji, "🔥");
assert_eq!(messages[2].reactions()[1].is_chosen, true);
}