X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=tests%2Fphpunit%2FCRM%2FMember%2FImport%2FParser%2FMembershipTest.php;h=c39b1618d561651433fb27b3a39341612e39c12f;hb=e136f704594ddead8e78f52d53ec080825bdb1e2;hp=2b25bb6b3ef415b3341ee488b990035327502c37;hpb=1e66775e6f88ac33d643ca2d68577ab01dd41dd5;p=civicrm-core.git diff --git a/tests/phpunit/CRM/Member/Import/Parser/MembershipTest.php b/tests/phpunit/CRM/Member/Import/Parser/MembershipTest.php index 2b25bb6b3e..c39b1618d5 100644 --- a/tests/phpunit/CRM/Member/Import/Parser/MembershipTest.php +++ b/tests/phpunit/CRM/Member/Import/Parser/MembershipTest.php @@ -24,24 +24,21 @@ * . */ -require_once 'CiviTest/CiviUnitTestCase.php'; -require_once 'CiviTest/Contact.php'; -require_once 'CiviTest/Membership.php'; - /** * Test CRM/Member/BAO Membership Log add , delete functions * * @package CiviCRM + * @group headless */ class CRM_Member_Import_Parser_MembershipTest extends CiviUnitTestCase { /** - * Membership type name used in test function + * Membership type name used in test function. * @var String */ protected $_membershipTypeName = NULL; /** - * Membership type id used in test function + * Membership type id used in test function. * @var String */ protected $_membershipTypeID = NULL; @@ -102,10 +99,10 @@ class CRM_Member_Import_Parser_MembershipTest extends CiviUnitTestCase { } /** - * Test Import + * Test Import. */ public function testImport() { - $contactId = $this->individualCreate(); + $this->individualCreate(); $contact2Params = array( 'first_name' => 'Anthonita', 'middle_name' => 'J.', @@ -115,7 +112,8 @@ class CRM_Member_Import_Parser_MembershipTest extends CiviUnitTestCase { 'email' => 'b@c.com', 'contact_type' => 'Individual', ); - $contactId = $this->individualCreate($contact2Params); + + $this->individualCreate($contact2Params); $year = date('Y') - 1; $startDate2 = date('Y-m-d', mktime(0, 0, 0, 9, 10, $year)); $params = array( @@ -135,19 +133,7 @@ class CRM_Member_Import_Parser_MembershipTest extends CiviUnitTestCase { 'mapper[1][0]' => 'membership_type_id', 'mapper[2][0]' => 'membership_start_date', ); - /* - $params = array( - 'contact_id' => $contactId, - 'membership_type_id' => $this->_membershipTypeID, - 'join_date' => '2006-01-21', - 'start_date' => '2006-01-21', - 'end_date' => '2006-12-21', - 'source' => 'Payment', - 'is_override' => 1, - 'status_id' => $this->_mebershipStatusID, - ); - */ $importObject = new CRM_Member_Import_Parser_Membership($fieldMapper); $importObject->init(); $importObject->_contactType = 'Individual'; @@ -158,4 +144,112 @@ class CRM_Member_Import_Parser_MembershipTest extends CiviUnitTestCase { $this->assertEquals(2, $result['count']); } + public function testImportOverriddenMembershipButWithoutStatus() { + $this->individualCreate(array('email' => 'anthony_anderson2@civicrm.org')); + + $fieldMapper = array( + 'mapper[0][0]' => 'email', + 'mapper[1][0]' => 'membership_type_id', + 'mapper[2][0]' => 'membership_start_date', + 'mapper[3][0]' => 'is_override', + ); + $membershipImporter = new CRM_Member_Import_Parser_Membership($fieldMapper); + $membershipImporter->init(); + $membershipImporter->_contactType = 'Individual'; + + $importValues = array( + 'anthony_anderson2@civicrm.org', + $this->_membershipTypeID, + date('Y-m-d'), + TRUE, + ); + + $importResponse = $membershipImporter->import(CRM_Import_Parser::DUPLICATE_UPDATE, $importValues); + $this->assertEquals(CRM_Import_Parser::ERROR, $importResponse); + $this->assertContains('Required parameter missing: Status', $importValues); + } + + public function testImportOverriddenMembershipWithStatus() { + $this->individualCreate(array('email' => 'anthony_anderson3@civicrm.org')); + + $fieldMapper = array( + 'mapper[0][0]' => 'email', + 'mapper[1][0]' => 'membership_type_id', + 'mapper[2][0]' => 'membership_start_date', + 'mapper[3][0]' => 'is_override', + 'mapper[4][0]' => 'status_id', + ); + $membershipImporter = new CRM_Member_Import_Parser_Membership($fieldMapper); + $membershipImporter->init(); + $membershipImporter->_contactType = 'Individual'; + + $importValues = array( + 'anthony_anderson3@civicrm.org', + $this->_membershipTypeID, + date('Y-m-d'), + TRUE, + 'New', + ); + + $importResponse = $membershipImporter->import(CRM_Import_Parser::DUPLICATE_UPDATE, $importValues); + $this->assertEquals(CRM_Import_Parser::VALID, $importResponse); + } + + public function testImportOverriddenMembershipWithValidOverrideEndDate() { + $this->individualCreate(array('email' => 'anthony_anderson4@civicrm.org')); + + $fieldMapper = array( + 'mapper[0][0]' => 'email', + 'mapper[1][0]' => 'membership_type_id', + 'mapper[2][0]' => 'membership_start_date', + 'mapper[3][0]' => 'is_override', + 'mapper[4][0]' => 'status_id', + 'mapper[5][0]' => 'status_override_end_date', + ); + $membershipImporter = new CRM_Member_Import_Parser_Membership($fieldMapper); + $membershipImporter->init(); + $membershipImporter->_contactType = 'Individual'; + + $importValues = array( + 'anthony_anderson4@civicrm.org', + $this->_membershipTypeID, + date('Y-m-d'), + TRUE, + 'New', + date('Y-m-d'), + ); + + $importResponse = $membershipImporter->import(CRM_Import_Parser::DUPLICATE_UPDATE, $importValues); + $this->assertEquals(CRM_Import_Parser::VALID, $importResponse); + } + + public function testImportOverriddenMembershipWithInvalidOverrideEndDate() { + $this->individualCreate(array('email' => 'anthony_anderson5@civicrm.org')); + + $fieldMapper = array( + 'mapper[0][0]' => 'email', + 'mapper[1][0]' => 'membership_type_id', + 'mapper[2][0]' => 'membership_start_date', + 'mapper[3][0]' => 'is_override', + 'mapper[4][0]' => 'status_id', + 'mapper[5][0]' => 'status_override_end_date', + ); + $membershipImporter = new CRM_Member_Import_Parser_Membership($fieldMapper); + $membershipImporter->init(); + $membershipImporter->_contactType = 'Individual'; + + $importValues = array( + 'anthony_anderson5@civicrm.org', + 'New', + date('Y-m-d'), + TRUE, + $this->_mebershipStatusID, + 'abc', + ); + + $importResponse = $membershipImporter->import(CRM_Import_Parser::DUPLICATE_UPDATE, $importValues); + $this->assertEquals(CRM_Import_Parser::ERROR, $importResponse); + $this->assertContains('Required parameter missing: Status', $importValues); + } + }