From 8065504bb0b9c4376dd25061b7c985fd39f15d24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Blin?=
 <sebastien.blin@savoirfairelinux.com>
Date: Tue, 2 Jan 2024 11:55:06 -0500
Subject: [PATCH] tests: fix testAddAcceptOfflineThenConnects

Change-Id: I0e0248d167af0e81cef828ef3c1e3746d974aaed
---
 .../conversation/conversationMembersEvent.cpp         | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/test/unitTest/conversation/conversationMembersEvent.cpp b/test/unitTest/conversation/conversationMembersEvent.cpp
index 97ffb481ce..915732f66d 100644
--- a/test/unitTest/conversation/conversationMembersEvent.cpp
+++ b/test/unitTest/conversation/conversationMembersEvent.cpp
@@ -584,12 +584,23 @@ ConversationMembersEventTest::testAddAcceptOfflineThenConnects()
                 requestReceived = true;
                 cv.notify_one();
             }));
+    bool aliceStopped = false;
+    confHandlers.insert(
+        libjami::exportable_callback<libjami::ConfigurationSignal::VolatileDetailsChanged>(
+            [&](const std::string&, const std::map<std::string, std::string>&) {
+                auto details = aliceAccount->getVolatileAccountDetails();
+                auto daemonStatus = details[libjami::Account::ConfProperties::Registration::STATUS];
+                if (daemonStatus == "UNREGISTERED")
+                    aliceStopped = true;
+                cv.notify_one();
+            }));
     libjami::registerSignalHandlers(confHandlers);
 
     libjami::addConversationMember(aliceId, convId, bobUri);
     CPPUNIT_ASSERT(cv.wait_for(lk, 60s, [&] { return requestReceived; }));
 
     Manager::instance().sendRegister(aliceId, false); // This avoid to sync immediately
+    CPPUNIT_ASSERT(cv.wait_for(lk, 60s, [&] { return aliceStopped; }));
     libjami::acceptConversationRequest(bobId, convId);
 
     std::this_thread::sleep_for(40s); // Wait for negotiation to timeout
-- 
GitLab