@@ -841,6 +841,33 @@ func (s *MessengerContactRequestSuite) TestAcceptLatestContactRequestForContact(
841841 s .Require ().True (resp .Contacts [0 ].Mutual ())
842842}
843843
844+ func (s * MessengerContactRequestSuite ) TestAcceptLatestContactRequestForContactWhenMessageMissing () {
845+ messageText := "hello!"
846+
847+ theirMessenger := s .newMessenger ()
848+
849+ contactID := types .EncodeHex (crypto .FromECDSAPub (& theirMessenger .identity .PublicKey ))
850+ request := & requests.SendContactRequest {
851+ ID : contactID ,
852+ Message : messageText ,
853+ }
854+ s .sendContactRequest (request , s .m )
855+ contactRequest := s .receiveContactRequest (messageText , theirMessenger )
856+
857+ err := theirMessenger .persistence .DeleteMessage (contactRequest .ID )
858+ s .Require ().NoError (err )
859+
860+ myID := types .EncodeHex (crypto .FromECDSAPub (& s .m .identity .PublicKey ))
861+ resp , err := theirMessenger .AcceptLatestContactRequestForContact (context .Background (), & requests.AcceptLatestContactRequestForContact {ID : types .Hex2Bytes (myID )})
862+ s .Require ().NoError (err )
863+ s .Require ().NotNil (resp )
864+
865+ contactRequestMsg := s .findFirstByContentType (resp .Messages (), protobuf .ChatMessage_CONTACT_REQUEST )
866+ s .Require ().NotNil (contactRequestMsg )
867+ s .Require ().Equal (defaultContactRequestID (myID ), contactRequestMsg .ID )
868+ s .Require ().Equal (common .ContactRequestStateAccepted , contactRequestMsg .ContactRequestState )
869+ }
870+
844871func (s * MessengerContactRequestSuite ) TestDismissLatestContactRequestForContact () {
845872 messageText := "hello!"
846873
@@ -871,6 +898,33 @@ func (s *MessengerContactRequestSuite) TestDismissLatestContactRequestForContact
871898 s .Require ().Equal (common .ContactRequestStateDismissed , resp .ActivityCenterNotifications ()[0 ].Message .ContactRequestState )
872899}
873900
901+ func (s * MessengerContactRequestSuite ) TestDismissLatestContactRequestForContactWhenMessageMissing () {
902+ messageText := "hello!"
903+
904+ theirMessenger := s .newMessenger ()
905+
906+ contactID := types .EncodeHex (crypto .FromECDSAPub (& theirMessenger .identity .PublicKey ))
907+ request := & requests.SendContactRequest {
908+ ID : contactID ,
909+ Message : messageText ,
910+ }
911+ s .sendContactRequest (request , s .m )
912+ contactRequest := s .receiveContactRequest (messageText , theirMessenger )
913+
914+ err := theirMessenger .persistence .DeleteMessage (contactRequest .ID )
915+ s .Require ().NoError (err )
916+
917+ myID := types .EncodeHex (crypto .FromECDSAPub (& s .m .identity .PublicKey ))
918+ resp , err := theirMessenger .DismissLatestContactRequestForContact (context .Background (), & requests.DismissLatestContactRequestForContact {ID : types .Hex2Bytes (myID )})
919+ s .Require ().NoError (err )
920+ s .Require ().NotNil (resp )
921+
922+ contactRequestMsg := s .findFirstByContentType (resp .Messages (), protobuf .ChatMessage_CONTACT_REQUEST )
923+ s .Require ().NotNil (contactRequestMsg )
924+ s .Require ().Equal (defaultContactRequestID (myID ), contactRequestMsg .ID )
925+ s .Require ().Equal (common .ContactRequestStateDismissed , contactRequestMsg .ContactRequestState )
926+ }
927+
874928func (s * MessengerContactRequestSuite ) TestPairedDevicesRemoveContact () {
875929 messageText := "hello!"
876930
0 commit comments