diff --git a/tests/integration/IntegrationTest.php b/tests/integration/IntegrationTest.php index 34f4b61..573ff3d 100644 --- a/tests/integration/IntegrationTest.php +++ b/tests/integration/IntegrationTest.php @@ -1534,9 +1534,17 @@ public function testExportUsers() public function testQueryThreadsWithFilter() { + // Create a fresh channel with both users as members + $testChannel = $this->client->Channel( + "messaging", + $this->generateGuid(), + ["test" => true, "language" => "php"] + ); + $testChannel->create($this->user1["id"], [$this->user1["id"], $this->user2["id"]]); + // Create a thread by sending a message with a parent_id - $parentMessage = $this->channel->sendMessage(["text" => "Parent message"], $this->user1["id"]); - $threadMessage = $this->channel->sendMessage( + $parentMessage = $testChannel->sendMessage(["text" => "Parent message"], $this->user1["id"]); + $threadMessage = $testChannel->sendMessage( ["text" => "Thread message", "parent_id" => $parentMessage["message"]["id"]], $this->user2["id"] ); @@ -1551,19 +1559,30 @@ public function testQueryThreadsWithFilter() // Verify the response $this->assertTrue(array_key_exists("threads", (array)$response)); $this->assertGreaterThanOrEqual(1, count($response["threads"])); + + // Cleanup + $testChannel->delete(); } public function testQueryThreadsWithSort() { + // Create a fresh channel with both users as members + $testChannel = $this->client->Channel( + "messaging", + $this->generateGuid(), + ["test" => true, "language" => "php"] + ); + $testChannel->create($this->user1["id"], [$this->user1["id"], $this->user2["id"]]); + // Create multiple threads - $parentMessage1 = $this->channel->sendMessage(["text" => "Parent message 1"], $this->user1["id"]); - $threadMessage1 = $this->channel->sendMessage( + $parentMessage1 = $testChannel->sendMessage(["text" => "Parent message 1"], $this->user1["id"]); + $threadMessage1 = $testChannel->sendMessage( ["text" => "Thread message 1", "parent_id" => $parentMessage1["message"]["id"]], $this->user2["id"] ); - $parentMessage2 = $this->channel->sendMessage(["text" => "Parent message 2"], $this->user1["id"]); - $threadMessage2 = $this->channel->sendMessage( + $parentMessage2 = $testChannel->sendMessage(["text" => "Parent message 2"], $this->user1["id"]); + $threadMessage2 = $testChannel->sendMessage( ["text" => "Thread message 2", "parent_id" => $parentMessage2["message"]["id"]], $this->user2["id"] ); @@ -1578,19 +1597,30 @@ public function testQueryThreadsWithSort() // Verify the response $this->assertTrue(array_key_exists("threads", (array)$response)); $this->assertGreaterThanOrEqual(2, count($response["threads"])); + + // Cleanup + $testChannel->delete(); } public function testQueryThreadsWithFilterAndSort() { + // Create a fresh channel with both users as members + $testChannel = $this->client->Channel( + "messaging", + $this->generateGuid(), + ["test" => true, "language" => "php"] + ); + $testChannel->create($this->user1["id"], [$this->user1["id"], $this->user2["id"]]); + // Create multiple threads - $parentMessage1 = $this->channel->sendMessage(["text" => "Parent message 1"], $this->user1["id"]); - $threadMessage1 = $this->channel->sendMessage( + $parentMessage1 = $testChannel->sendMessage(["text" => "Parent message 1"], $this->user1["id"]); + $threadMessage1 = $testChannel->sendMessage( ["text" => "Thread message 1", "parent_id" => $parentMessage1["message"]["id"]], $this->user2["id"] ); - $parentMessage2 = $this->channel->sendMessage(["text" => "Parent message 2"], $this->user1["id"]); - $threadMessage2 = $this->channel->sendMessage( + $parentMessage2 = $testChannel->sendMessage(["text" => "Parent message 2"], $this->user1["id"]); + $threadMessage2 = $testChannel->sendMessage( ["text" => "Thread message 2", "parent_id" => $parentMessage2["message"]["id"]], $this->user2["id"] ); @@ -1605,13 +1635,24 @@ public function testQueryThreadsWithFilterAndSort() // Verify the response $this->assertTrue(array_key_exists("threads", (array)$response)); $this->assertGreaterThanOrEqual(2, count($response["threads"])); + + // Cleanup + $testChannel->delete(); } public function testQueryThreadsWithoutFilterAndSort() { + // Create a fresh channel with both users as members + $testChannel = $this->client->Channel( + "messaging", + $this->generateGuid(), + ["test" => true, "language" => "php"] + ); + $testChannel->create($this->user1["id"], [$this->user1["id"], $this->user2["id"]]); + // Create a thread by sending a message with a parent_id - $parentMessage = $this->channel->sendMessage(["text" => "Parent message for no filter test"], $this->user1["id"]); - $threadMessage = $this->channel->sendMessage( + $parentMessage = $testChannel->sendMessage(["text" => "Parent message for no filter test"], $this->user1["id"]); + $threadMessage = $testChannel->sendMessage( ["text" => "Thread message for no filter test", "parent_id" => $parentMessage["message"]["id"]], $this->user2["id"] ); @@ -1626,6 +1667,9 @@ public function testQueryThreadsWithoutFilterAndSort() // Verify the response $this->assertTrue(array_key_exists("threads", (array)$response)); $this->assertGreaterThanOrEqual(1, count($response["threads"])); + + // Cleanup + $testChannel->delete(); } public function testCreateDraft()