/**
  * @depends testCreateAndGetCampaignItemActivityById
  */
 public function testCampaignItemActivityStringValue()
 {
     $campaignItemActivities = CampaignItemActivity::getAll();
     $this->assertCount(2, $campaignItemActivities);
     $types = CampaignItemActivity::getTypesArray();
     $type = $types[$campaignItemActivities[0]->type];
     $expectedStringValue = $campaignItemActivities[0]->latestDateTime . ': ' . strval($campaignItemActivities[0]->person) . '/' . $type;
     $this->assertEquals($expectedStringValue, strval($campaignItemActivities[0]));
 }
 /**
  * Resolve content for sendgrid bounce or spam email activity.
  * @param CampaignItem $campaignItem
  * @param int $type
  * @return string
  */
 protected static function resolveContentForSendGridBounceOrSpamEventActivity(CampaignItem $campaignItem, $type)
 {
     $typesArray = CampaignItemActivity::getTypesArray();
     $campaignItemActivities = CampaignItemActivity::getByTypeAndModelIdAndPersonIdAndUrl($type, $campaignItem->id, $campaignItem->contact->getClassId('Person'), null, 'latestDateTime');
     $content = null;
     foreach ($campaignItemActivities as $campaignItemActivity) {
         $externalMessageActivities = ExternalApiEmailMessageActivity::getByEmailMessageActivity($campaignItemActivity, "sendgrid", false);
         foreach ($externalMessageActivities as $externalMessageActivity) {
             $content .= '<tr>';
             $content .= '<td>' . $typesArray[$externalMessageActivity->type] . '</td>';
             $content .= '<td>' . DateTimeUtil::convertDbFormattedDateTimeToLocaleFormattedDisplay($campaignItemActivity->latestDateTime) . '</td>';
             $content .= '<td>' . $campaignItemActivity->quantity . '</td>';
             $content .= '<td>' . $campaignItemActivity->latestSourceIP . '</td>';
             $content .= '<td></td>';
             $content .= '</tr>';
         }
     }
     return $content;
 }
 protected static function getClickedContentForDrillDown(CampaignItem $campaignItem)
 {
     $typesArray = CampaignItemActivity::getTypesArray();
     $campaignItemActivities = CampaignItemActivity::getByTypeAndModelIdAndPersonIdAndUrl(CampaignItemActivity::TYPE_CLICK, $campaignItem->id, $campaignItem->contact->getClassId('Person'), null, 'latestDateTime');
     $content = null;
     foreach ($campaignItemActivities as $campaignItemActivity) {
         $content .= '<tr>';
         $content .= '<td>' . $typesArray[CampaignItemActivity::TYPE_CLICK] . '</td>';
         $content .= '<td>' . DateTimeUtil::convertDbFormattedDateTimeToLocaleFormattedDisplay($campaignItemActivity->latestDateTime) . '</td>';
         $content .= '<td>' . $campaignItemActivity->quantity . '</td>';
         $content .= '<td>' . $campaignItemActivity->latestSourceIP . '</td>';
         $content .= '<td>' . $campaignItemActivity->emailMessageUrl . '</td>';
         $content .= '</tr>';
     }
     return $content;
 }