Spaces:
No application file
No application file
| namespace Mautic\ChannelBundle\Tests\PreferenceBuilder; | |
| use Mautic\CampaignBundle\Entity\Campaign; | |
| use Mautic\CampaignBundle\Entity\Event; | |
| use Mautic\CampaignBundle\Entity\LeadEventLog; | |
| use Mautic\ChannelBundle\PreferenceBuilder\ChannelPreferences; | |
| class ChannelPreferencesTest extends \PHPUnit\Framework\TestCase | |
| { | |
| public function testLogsAreOrganizedByPriority(): void | |
| { | |
| $campaign = new Campaign(); | |
| $event = new Event(); | |
| $event->setCampaign($campaign); | |
| $channelPreferences = $this->getChannelPreference('email', $event); | |
| $log1 = new LeadEventLog(); | |
| $log1->setEvent($event); | |
| $log1->setCampaign($campaign); | |
| $log1->setMetadata(['log' => 1]); | |
| $channelPreferences->addLog($log1, 1); | |
| $log2 = new LeadEventLog(); | |
| $log2->setEvent($event); | |
| $log2->setCampaign($campaign); | |
| $log2->setMetadata(['log' => 2]); | |
| $channelPreferences->addLog($log2, 2); | |
| $organized = $channelPreferences->getLogsByPriority(1); | |
| $this->assertEquals($organized->first()->getMetadata()['log'], 1); | |
| $organized = $channelPreferences->getLogsByPriority(2); | |
| $this->assertEquals($organized->first()->getMetadata()['log'], 2); | |
| } | |
| /** | |
| * @return ChannelPreferences | |
| */ | |
| private function getChannelPreference($channel, Event $event) | |
| { | |
| return new ChannelPreferences($event); | |
| } | |
| } | |