diff --git a/tests/phpunit/CiviTest/CiviUnitTestCase.php b/tests/phpunit/CiviTest/CiviUnitTestCase.php index 9c03bc727b4e..83cc57256d91 100644 --- a/tests/phpunit/CiviTest/CiviUnitTestCase.php +++ b/tests/phpunit/CiviTest/CiviUnitTestCase.php @@ -626,6 +626,8 @@ public function membershipDelete($membershipID) { * @param string $name * * @return mixed + * + * @throws \CRM_Core_Exception */ public function membershipStatusCreate($name = 'test member status') { $params['name'] = $name; @@ -636,17 +638,19 @@ public function membershipStatusCreate($name = 'test member status') { $result = $this->callAPISuccess('MembershipStatus', 'Create', $params); CRM_Member_PseudoConstant::flush('membershipStatus'); - return $result['id']; + return (int) $result['id']; } /** + * Delete the given membership status, deleting any memberships of the status first. + * * @param int $membershipStatusID + * + * @throws \CRM_Core_Exception */ - public function membershipStatusDelete($membershipStatusID) { - if (!$membershipStatusID) { - return; - } - $result = $this->callAPISuccess('MembershipStatus', 'Delete', ['id' => $membershipStatusID]); + public function membershipStatusDelete(int $membershipStatusID) { + $this->callAPISuccess('Membership', 'get', ['status_id' => $membershipStatusID, 'api.Membership.delete' => 1]); + $this->callAPISuccess('MembershipStatus', 'Delete', ['id' => $membershipStatusID]); } public function membershipRenewalDate($durationUnit, $membershipEndDate) { diff --git a/tests/phpunit/api/v3/MembershipStatusTest.php b/tests/phpunit/api/v3/MembershipStatusTest.php index 97b1687bcf88..6c0614a43e66 100644 --- a/tests/phpunit/api/v3/MembershipStatusTest.php +++ b/tests/phpunit/api/v3/MembershipStatusTest.php @@ -32,6 +32,11 @@ public function setUp() { CRM_Member_PseudoConstant::membershipStatus(NULL, NULL, 'name', TRUE); } + /** + * Cleanup after test. + * + * @throws \CRM_Core_Exception + */ public function tearDown() { $this->membershipStatusDelete($this->_membershipStatusID); $this->membershipTypeDelete(['id' => $this->_membershipTypeID]);