@@ -348,86 +348,86 @@ void main() async {
348
348
test ('rendering-only update does not change timestamp (for old server versions)' , () async {
349
349
await checkRenderingOnly (legacy: true );
350
350
});
351
+ });
351
352
352
- group ('ReactionEvent handling' , () {
353
- ReactionEvent mkEvent (Reaction reaction, ReactionOp op, int messageId) {
354
- return ReactionEvent (
355
- id: 1 ,
356
- op: op,
357
- emojiName: reaction.emojiName,
358
- emojiCode: reaction.emojiCode,
359
- reactionType: reaction.reactionType,
360
- userId: reaction.userId,
361
- messageId: messageId,
362
- );
363
- }
353
+ group ('ReactionEvent handling' , () {
354
+ ReactionEvent mkEvent (Reaction reaction, ReactionOp op, int messageId) {
355
+ return ReactionEvent (
356
+ id: 1 ,
357
+ op: op,
358
+ emojiName: reaction.emojiName,
359
+ emojiCode: reaction.emojiCode,
360
+ reactionType: reaction.reactionType,
361
+ userId: reaction.userId,
362
+ messageId: messageId,
363
+ );
364
+ }
364
365
365
- test ('add reaction' , () async {
366
- final originalMessage = eg.streamMessage (reactions: []);
367
- await prepare ();
368
- await prepareMessages (foundOldest: true , messages: [originalMessage]);
369
- final message = model.messages.single;
366
+ test ('add reaction' , () async {
367
+ final originalMessage = eg.streamMessage (reactions: []);
368
+ await prepare ();
369
+ await prepareMessages (foundOldest: true , messages: [originalMessage]);
370
+ final message = model.messages.single;
370
371
371
- model.maybeUpdateMessageReactions (
372
- mkEvent (eg.unicodeEmojiReaction, ReactionOp .add, originalMessage.id));
373
- checkNotifiedOnce ();
374
- check (model).messages.single
375
- ..identicalTo (message)
376
- ..reactions.isNotNull ().jsonEquals ([eg.unicodeEmojiReaction]);
377
- });
372
+ model.maybeUpdateMessageReactions (
373
+ mkEvent (eg.unicodeEmojiReaction, ReactionOp .add, originalMessage.id));
374
+ checkNotifiedOnce ();
375
+ check (model).messages.single
376
+ ..identicalTo (message)
377
+ ..reactions.isNotNull ().jsonEquals ([eg.unicodeEmojiReaction]);
378
+ });
378
379
379
- test ('add reaction; message is not in list' , () async {
380
- final someMessage = eg.streamMessage (reactions: []);
381
- await prepare ();
382
- await prepareMessages (foundOldest: true , messages: [someMessage]);
383
- model.maybeUpdateMessageReactions (
384
- mkEvent (eg.unicodeEmojiReaction, ReactionOp .add, 1000 ));
385
- checkNotNotified ();
386
- check (model).messages.single.reactions.isNull ();
387
- });
380
+ test ('add reaction; message is not in list' , () async {
381
+ final someMessage = eg.streamMessage (reactions: []);
382
+ await prepare ();
383
+ await prepareMessages (foundOldest: true , messages: [someMessage]);
384
+ model.maybeUpdateMessageReactions (
385
+ mkEvent (eg.unicodeEmojiReaction, ReactionOp .add, 1000 ));
386
+ checkNotNotified ();
387
+ check (model).messages.single.reactions.isNull ();
388
+ });
388
389
389
- test ('remove reaction' , () async {
390
- final eventReaction = Reaction (reactionType: ReactionType .unicodeEmoji,
391
- emojiName: 'wave' , emojiCode: '1f44b' , userId: 1 );
390
+ test ('remove reaction' , () async {
391
+ final eventReaction = Reaction (reactionType: ReactionType .unicodeEmoji,
392
+ emojiName: 'wave' , emojiCode: '1f44b' , userId: 1 );
392
393
393
- // Same emoji, different user. Not to be removed.
394
- final reaction2 = Reaction (reactionType: ReactionType .unicodeEmoji,
395
- emojiName: 'wave' , emojiCode: '1f44b' , userId: 2 );
394
+ // Same emoji, different user. Not to be removed.
395
+ final reaction2 = Reaction (reactionType: ReactionType .unicodeEmoji,
396
+ emojiName: 'wave' , emojiCode: '1f44b' , userId: 2 );
396
397
397
- // Same user, different emoji. Not to be removed.
398
- final reaction3 = Reaction (reactionType: ReactionType .unicodeEmoji,
399
- emojiName: 'working_on_it' , emojiCode: '1f6e0' , userId: 1 );
398
+ // Same user, different emoji. Not to be removed.
399
+ final reaction3 = Reaction (reactionType: ReactionType .unicodeEmoji,
400
+ emojiName: 'working_on_it' , emojiCode: '1f6e0' , userId: 1 );
400
401
401
- // Same user, same emojiCode, different emojiName. To be removed: servers
402
- // key on user, message, reaction type, and emoji code, but not emoji name.
403
- // So we mimic that behavior; see discussion:
404
- // https://github.com/zulip/zulip-flutter/pull/256#discussion_r1284865099
405
- final reaction4 = Reaction (reactionType: ReactionType .unicodeEmoji,
406
- emojiName: 'hello' , emojiCode: '1f44b' , userId: 1 );
402
+ // Same user, same emojiCode, different emojiName. To be removed: servers
403
+ // key on user, message, reaction type, and emoji code, but not emoji name.
404
+ // So we mimic that behavior; see discussion:
405
+ // https://github.com/zulip/zulip-flutter/pull/256#discussion_r1284865099
406
+ final reaction4 = Reaction (reactionType: ReactionType .unicodeEmoji,
407
+ emojiName: 'hello' , emojiCode: '1f44b' , userId: 1 );
407
408
408
- final originalMessage = eg.streamMessage (
409
- reactions: [reaction2, reaction3, reaction4]);
410
- await prepare ();
411
- await prepareMessages (foundOldest: true , messages: [originalMessage]);
412
- final message = model.messages.single;
409
+ final originalMessage = eg.streamMessage (
410
+ reactions: [reaction2, reaction3, reaction4]);
411
+ await prepare ();
412
+ await prepareMessages (foundOldest: true , messages: [originalMessage]);
413
+ final message = model.messages.single;
413
414
414
- model.maybeUpdateMessageReactions (
415
- mkEvent (eventReaction, ReactionOp .remove, originalMessage.id));
416
- checkNotifiedOnce ();
417
- check (model).messages.single
418
- ..identicalTo (message)
419
- ..reactions.isNotNull ().jsonEquals ([reaction2, reaction3]);
420
- });
415
+ model.maybeUpdateMessageReactions (
416
+ mkEvent (eventReaction, ReactionOp .remove, originalMessage.id));
417
+ checkNotifiedOnce ();
418
+ check (model).messages.single
419
+ ..identicalTo (message)
420
+ ..reactions.isNotNull ().jsonEquals ([reaction2, reaction3]);
421
+ });
421
422
422
- test ('remove reaction; message is not in list' , () async {
423
- final someMessage = eg.streamMessage (reactions: [eg.unicodeEmojiReaction]);
424
- await prepare ();
425
- await prepareMessages (foundOldest: true , messages: [someMessage]);
426
- model.maybeUpdateMessageReactions (
427
- mkEvent (eg.unicodeEmojiReaction, ReactionOp .remove, 1000 ));
428
- checkNotNotified ();
429
- check (model).messages.single.reactions.isNotNull ().jsonEquals ([eg.unicodeEmojiReaction]);
430
- });
423
+ test ('remove reaction; message is not in list' , () async {
424
+ final someMessage = eg.streamMessage (reactions: [eg.unicodeEmojiReaction]);
425
+ await prepare ();
426
+ await prepareMessages (foundOldest: true , messages: [someMessage]);
427
+ model.maybeUpdateMessageReactions (
428
+ mkEvent (eg.unicodeEmojiReaction, ReactionOp .remove, 1000 ));
429
+ checkNotNotified ();
430
+ check (model).messages.single.reactions.isNotNull ().jsonEquals ([eg.unicodeEmojiReaction]);
431
431
});
432
432
});
433
433
0 commit comments