APIv4 - Add basic test for Group.contact_count field
authorcolemanw <coleman@civicrm.org>
Tue, 23 May 2023 22:15:21 +0000 (18:15 -0400)
committercolemanw <coleman@civicrm.org>
Tue, 23 May 2023 22:15:21 +0000 (18:15 -0400)
tests/phpunit/api/v4/Entity/GroupContactTest.php

index 79215069760c43d8b1b8762120ad4674659e58f2..3bde9ecea9a70e9e40de27b9169ca7f8cafdc0ac 100644 (file)
 namespace api\v4\Entity;
 
 use api\v4\Api4TestBase;
+use Civi\Api4\Group;
 
 /**
  * @group headless
  */
 class GroupContactTest extends Api4TestBase {
 
-  public function testCreate() {
+  public function testCount() {
     $contact = $this->createTestRecord('Contact');
     $group = $this->createTestRecord('Group');
+
+    $count = Group::get(FALSE)
+      ->addWhere('id', '=', $group['id'])
+      ->addSelect('contact_count')
+      ->execute()->single();
+    $this->assertEquals(0, $count['contact_count']);
+
     $result = $this->createTestRecord('GroupContact', [
       'group_id' => $group['id'],
       'contact_id' => $contact['id'],
     ]);
     $this->assertEquals('Added', $result['status']);
+
+    $count = Group::get(FALSE)
+      ->addWhere('id', '=', $group['id'])
+      ->addSelect('contact_count')
+      ->execute()->single();
+    $this->assertEquals(1, $count['contact_count']);
   }
 
 }