diff --git a/tests/libtransport/basictest.cpp b/tests/libtransport/basictest.cpp index 2ec25a70386c22b3659ce6004c1190824805c09a..b6969251ec18c94668ff95956025138d6f66ca06 100644 --- a/tests/libtransport/basictest.cpp +++ b/tests/libtransport/basictest.cpp @@ -245,6 +245,13 @@ void BasicTest::disconnectUser() { loop->processEvents(); CPPUNIT_ASSERT_EQUAL(0, userManager->getUserCount()); + + // When user has been in a room, unavailable presence can be sent from that room. + if (received.size() == 2) { + CPPUNIT_ASSERT(dynamic_cast(getStanza(received[0]))); + CPPUNIT_ASSERT(dynamic_cast(getStanza(received[1]))); + return; + } CPPUNIT_ASSERT_EQUAL(1, (int) received.size()); CPPUNIT_ASSERT(dynamic_cast(getStanza(received[0]))); }