@@ -572,9 +572,6 @@ def test_send_and_receive_message_markseen(acfactory, lp):
572572 assert ev .data2 > dc .const .DC_MSG_ID_LAST_SPECIAL
573573 lp .step ("2" )
574574
575- # Check that ac1 marks the read receipt as read.
576- ac1 ._evtracker .get_info_contains ("Marked messages .* in folder INBOX as seen." )
577-
578575 assert msg1 .is_out_mdn_received ()
579576 assert msg3 .is_out_mdn_received ()
580577
@@ -655,7 +652,7 @@ def test_message_override_sender_name(acfactory, lp):
655652
656653
657654@pytest .mark .parametrize ("mvbox_move" , [True , False ])
658- def test_markseen_message_and_mdn (acfactory , mvbox_move ):
655+ def test_markseen_message (acfactory , mvbox_move ):
659656 # Please only change this test if you are very sure that it will still catch the issues it catches now.
660657 # We had so many problems with markseen, if in doubt, rather create another test, it can't harm.
661658 ac1 = acfactory .new_online_configuring_account (mvbox_move = mvbox_move )
@@ -674,16 +671,16 @@ def test_markseen_message_and_mdn(acfactory, mvbox_move):
674671 ac2 .mark_seen_messages ([msg ])
675672
676673 folder = "mvbox" if mvbox_move else "inbox"
677- for ac in [ ac1 , ac2 ] :
678- if mvbox_move :
679- ac . _evtracker . get_info_contains ( "Marked messages [0-9]+ in folder DeltaChat as seen." )
680- else :
681- ac ._evtracker .get_info_contains ( "Marked messages [0-9]+ in folder INBOX as seen. " )
674+ if mvbox_move :
675+ ac2 . _evtracker . get_info_contains ( "Marked messages [0-9]+ in folder DeltaChat as seen." )
676+ else :
677+ ac2 . _evtracker . get_info_contains ( "Marked messages [0-9]+ in folder INBOX as seen." )
678+ ac1 ._evtracker .get_matching ( "DC_EVENT_MSG_READ " )
682679 ac1 .direct_imap .select_config_folder (folder )
683680 ac2 .direct_imap .select_config_folder (folder )
684681
685- # Check that the mdn is marked as seen
686- assert len (list (ac1 .direct_imap .conn .fetch (AND (seen = True )))) == 1
682+ # Check that the mdn isn't marked as seen
683+ assert len (list (ac1 .direct_imap .conn .fetch (AND (seen = True )))) == 0
687684 # Check original message is marked as seen
688685 assert len (list (ac2 .direct_imap .conn .fetch (AND (seen = True )))) == 1
689686
@@ -730,6 +727,9 @@ def test_mdn_asymmetric(acfactory, lp):
730727
731728 assert len (chat .get_messages ()) == 1 + E2EE_INFO_MSGS
732729
730+ # Wait for the message to be marked as seen on IMAP.
731+ ac1 ._evtracker .get_info_contains ("Marked messages [0-9]+ in folder DeltaChat as seen." )
732+
733733 lp .sec ("disable ac1 MDNs" )
734734 ac1 .set_config ("mdns_enabled" , "0" )
735735
@@ -741,16 +741,17 @@ def test_mdn_asymmetric(acfactory, lp):
741741 lp .sec ("ac2: mark incoming message as seen" )
742742 ac2 .mark_seen_messages ([msg ])
743743
744+ # Wait for the message to be marked as seen on IMAP.
745+ ac2 ._evtracker .get_info_contains ("Marked messages [0-9]+ in folder INBOX as seen." )
746+
744747 lp .sec ("ac1: waiting for incoming activity" )
745748 # MDN should be moved even though MDNs are already disabled
746749 ac1 ._evtracker .get_matching ("DC_EVENT_IMAP_MESSAGE_MOVED" )
747750
748751 assert len (chat .get_messages ()) == 1 + E2EE_INFO_MSGS
749752
750- # Wait for the message to be marked as seen on IMAP.
751- ac1 ._evtracker .get_info_contains ("Marked messages [0-9]+ in folder DeltaChat as seen." )
752-
753753 # MDN is received even though MDNs are already disabled
754+ ac1 ._evtracker .get_matching ("DC_EVENT_MSG_READ" )
754755 assert msg_out .is_out_mdn_received ()
755756
756757 ac1 .direct_imap .select_config_folder ("mvbox" )
0 commit comments