Skip to content

Commit

Permalink
Adding missing file
Browse files Browse the repository at this point in the history
  • Loading branch information
shinde-rahul committed Jan 3, 2023
1 parent cbfc8b1 commit becb795
Showing 1 changed file with 127 additions and 0 deletions.
127 changes: 127 additions & 0 deletions app/bundles/CoreBundle/Tests/Functional/CreateTestEntitiesTrait.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
<?php

declare(strict_types=1);

namespace Mautic\CoreBundle\Tests\Functional;

use Mautic\CampaignBundle\Entity\Campaign;
use Mautic\CampaignBundle\Entity\Event;
use Mautic\CategoryBundle\Entity\Category;
use Mautic\EmailBundle\Entity\Email;
use Mautic\LeadBundle\Entity\Company;
use Mautic\LeadBundle\Entity\Lead;
use Mautic\LeadBundle\Entity\LeadCategory;
use Mautic\LeadBundle\Entity\LeadList;

trait CreateTestEntitiesTrait
{
private function createLead(string $firstName, string $lastName = '', string $emailId = ''): Lead
{
$lead = new Lead();
$lead->setFirstname($firstName);

if ($lastName) {
$lead->setLastname($lastName);
}

if ($emailId) {
$lead->setEmail($emailId);
}

$this->em->persist($lead);

return $lead;
}

private function createCampaign(string $campaignName): Campaign
{
$campaign = new Campaign();
$campaign->setName($campaignName);
$campaign->setIsPublished(true);
$this->em->persist($campaign);

return $campaign;
}

/**
* @param mixed[] $properties
*/
private function createEvent(string $name, Campaign $campaign, string $type, string $eventType, array $properties = []): Event
{
$event = new Event();
$event->setName($name);
$event->setCampaign($campaign);
$event->setType($type);
$event->setEventType($eventType);
$event->setTriggerInterval(1);
$event->setTriggerMode('immediate');

if ($properties) {
$event->setProperties($properties);
}

$this->em->persist($event);

return $event;
}

/**
* @param mixed[] $filters
*/
private function createSegment(string $alias, array $filters): LeadList
{
$segment = new LeadList();
$segment->setAlias($alias);
$segment->setName($alias);
$segment->setFilters($filters);
$this->em->persist($segment);

return $segment;
}

private function createCategory(string $name, string $alias, string $bundle = 'global'): Category
{
$category = new Category();
$category->setTitle($name);
$category->setAlias($alias);
$category->setBundle($bundle);

$this->em->persist($category);

return $category;
}

private function createLeadCategory(Lead $lead, Category $category, bool $flag): void
{
$leadCategory = new LeadCategory();
$leadCategory->setLead($lead);
$leadCategory->setCategory($category);
$leadCategory->setDateAdded(new \DateTime());
$leadCategory->setManuallyAdded($flag);
$leadCategory->setManuallyRemoved(!$flag);

$this->em->persist($leadCategory);
}

private function createEmail(string $name): Email
{
$email = new Email();
$email->setName($name);
$email->setIsPublished(true);

$this->em->persist($email);

return $email;
}

public function createCompany(string $name, string $email): Company
{
$company = new Company();
$company->setName($name);
$company->setEmail($email);

$this->em->persist($company);

return $company;
}
}

0 comments on commit becb795

Please sign in to comment.