From e24bbb21286ed35214917cb3d2be5e04195a0817 Mon Sep 17 00:00:00 2001 From: Eileen McNaughton Date: Sat, 18 Sep 2021 08:20:37 +1200 Subject: [PATCH] Flesh out participant token test m --- .../phpunit/CRM/Event/Form/Task/BadgeTest.php | 101 +++++++++++------- 1 file changed, 63 insertions(+), 38 deletions(-) diff --git a/tests/phpunit/CRM/Event/Form/Task/BadgeTest.php b/tests/phpunit/CRM/Event/Form/Task/BadgeTest.php index 6ba914bb56..3da64f0b54 100644 --- a/tests/phpunit/CRM/Event/Form/Task/BadgeTest.php +++ b/tests/phpunit/CRM/Event/Form/Task/BadgeTest.php @@ -1,5 +1,7 @@ createCustomGroupWithFieldOfType(['extends' => 'Participant']); - $contactID = $this->individualCreate(); - $participantID = $this->participantCreate(['contact_id' => $contactID]); + $contactID = $this->individualCreate(['employer_id' => 1]); + $participantID = $this->participantCreate([ + 'contact_id' => $contactID, + 'fee_level' => 'low', + ]); + + $badgeLayout = PrintLabel::get()->addSelect('data')->execute()->first(); + $values = [ + 'data' => array_merge($badgeLayout['data'], ['token' => [], 'font_name' => [''], 'font_size' => [], 'text_alignment' => []]) + ]; + foreach (array_keys($this->getAvailableTokens()) as $id => $token) { + $index = $id + 1; + $values['data']['token'][$index] = $token; + $values['data']['font_name'][$index] = 'dejavusans'; + $values['data']['font_size'][$index] = '20'; + $values['data']['font_style'][$index] = ''; + $values['data']['text_alignment'][$index] = 'C'; + } + PrintLabel::update()->addWhere('id', '=', 1)->setValues($values)->execute(); $_REQUEST['context'] = 'view'; $_REQUEST['id'] = $participantID; @@ -39,45 +58,51 @@ class CRM_Event_Form_Task_BadgeTest extends CiviUnitTestCase { catch (CRM_Core_Exception_PrematureExitException $e) { $tokens = $e->errorData['formattedRow']['token']; $this->assertEquals([ - 1 => [ - 'value' => 'Annual CiviCRM meet', - 'font_name' => 'dejavusans', - 'font_size' => '9', - 'font_style' => '', - 'text_alignment' => 'L', - 'token' => '{event.title}', - ], - 2 => - [ - 'value' => 'Mr. Anthony Anderson II', - 'font_name' => 'dejavusans', - 'font_size' => '20', - 'font_style' => '', - 'text_alignment' => 'C', - 'token' => '{contact.display_name}', - ], - 3 => - [ - 'value' => NULL, - 'font_name' => 'dejavusans', - 'font_size' => '15', - 'font_style' => '', - 'text_alignment' => 'C', - 'token' => '{contact.current_employer}', - ], - 4 => - [ - 'value' => 'October 21st', - 'font_name' => 'dejavusans', - 'font_size' => '9', - 'font_style' => '', - 'text_alignment' => 'R', - 'token' => '{event.start_date}', - ], - ], $tokens); + 'value' => 'Annual CiviCRM meet', + 'font_name' => 'dejavusans', + 'font_size' => '20', + 'font_style' => '', + 'text_alignment' => 'C', + 'token' => '{event.title}', + ], $tokens[1]); + $index =1; + foreach ($this->getAvailableTokens() as $token => $expected) { + $this->assertEquals($expected, $tokens[$index]['value'], 'failure in token ' . $token); + $index++; + } return; } $this->fail('Should not be reached'); } + /** + * @return string[] + */ + protected function getAvailableTokens(): array { + $tokens = [ + '{event.title}' => 'Annual CiviCRM meet', + '{contact.display_name}' => 'Mr. Anthony Anderson II', + '{contact.current_employer}' => 'Default Organization', + '{event.start_date}' => 'October 21st', + '{participant.participant_status_id}' => 2, + '{participant.participant_role_id}' => 1, + '{participant.participant_register_date}' => 'February 19th', + '{participant.participant_source}' => 'Wimbeldon', + '{participant.participant_fee_level}' => 'low', + '{participant.participant_fee_amount}' => NULL, + '{participant.participant_registered_by_id}' => NULL, + '{participant.transferred_to_contact_id}' => NULL, + '{participant.participant_role}' => 'Attendee', + '{participant.event_title}' => 'Annual CiviCRM meet', + '{participant.event_start_date}' => 'October 21st', + '{participant.event_end_date}' => 'October 23rd', + '{participant.fee_label}' => NULL, + '{participant.default_role_id}' => 1, + '{participant.template_title}' => NULL, + '{event.end_date}' => 'October 23rd', + '{event.id}' => 1, + ]; + return $tokens; + } + } -- 2.25.1