From 1380445718fe1c52b98ba1b3cad7b293456baab8 Mon Sep 17 00:00:00 2001 From: Andrew Hunt Date: Wed, 12 Dec 2018 17:55:26 -0500 Subject: [PATCH] CiviMember: test to confirm it's okay to disable or delete `expired` status --- .../CRM/Member/BAO/MembershipStatusTest.php | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tests/phpunit/CRM/Member/BAO/MembershipStatusTest.php b/tests/phpunit/CRM/Member/BAO/MembershipStatusTest.php index 5e78ed95f5..5128a5ccfe 100644 --- a/tests/phpunit/CRM/Member/BAO/MembershipStatusTest.php +++ b/tests/phpunit/CRM/Member/BAO/MembershipStatusTest.php @@ -130,6 +130,40 @@ class CRM_Member_BAO_MembershipStatusTest extends CiviUnitTestCase { $this->assertEquals(empty($result), TRUE, 'Verify membership status record deletion.'); } + public function testExpiredDisabled() { + $result = civicrm_api3('MembershipStatus', 'get', [ + 'label' => "Expired", + 'api.MembershipStatus.create' => ['is_active' => 0], + ]); + + // Disabling 'Expired' is OK. + $result = $this->callAPISuccess('job', 'process_membership', []); + + $result = civicrm_api3('MembershipStatus', 'get', [ + 'label' => "Expired", + 'api.MembershipStatus.delete' => [], + ]); + + // Deleting 'Expired' is OK. + $result = $this->callAPISuccess('job', 'process_membership', []); + + // Put things back like normal + $result = civicrm_api3('MembershipStatus', 'create', [ + 'name' => 'Expired', + 'label' => 'Expired', + 'start_event' => 'end_date', + 'start_event_adjust_unit' => 'month', + 'start_event_adjust_interval' => 1, + 'is_current_member' => 0, + 'is_admin' => 0, + 'weight' => 4, + 'is_default' => 0, + 'is_active' => 1, + 'is_reserved' => 0, + ]); + + } + public function testGetMembershipStatusByDate() { $params = array( 'name' => 'Current', -- 2.25.1