Code Duplication    Length = 58-59 lines in 2 locations

src/OroCRM/Bundle/ContactBundle/Tests/Functional/DataFixtures/LoadContactEmailData.php 1 location

@@ 11-69 (lines=59) @@
8
9
use OroCRM\Bundle\ContactBundle\Entity\ContactEmail;
10
11
class LoadContactEmailData extends AbstractFixture implements DependentFixtureInterface
12
{
13
    const FIRST_ENTITY_NAME  = '[email protected]';
14
    const SECOND_ENTITY_NAME = '[email protected]';
15
    const THIRD_ENTITY_NAME  = '[email protected]';
16
17
    public function getDependencies()
18
    {
19
        return [
20
            'OroCRM\Bundle\ContactBundle\Tests\Functional\DataFixtures\LoadContactEntitiesData'
21
        ];
22
    }
23
24
    /**
25
     * @var array
26
     */
27
    protected $contactEmailData = [
28
        [
29
            'email' => self::FIRST_ENTITY_NAME,
30
            'primary'  => true,
31
        ],
32
        [
33
            'email' => self::SECOND_ENTITY_NAME,
34
            'primary'  => false,
35
        ],
36
        [
37
            'email' => self::THIRD_ENTITY_NAME,
38
            'primary'  => false,
39
        ]
40
    ];
41
42
    /**
43
     * {@inheritdoc}
44
     */
45
    public function load(ObjectManager $manager)
46
    {
47
        $contact = $this->getReference('Contact_' . LoadContactEntitiesData::FIRST_ENTITY_NAME);
48
49
        foreach ($this->contactEmailData as $contactEmailData) {
50
            $contactEmail = new ContactEmail();
51
            $contactEmail->setPrimary($contactEmailData['primary']);
52
            $contactEmail->setOwner($contact);
53
            $contactEmail->setEmail($contactEmailData['email']);
54
            $this->setReference('ContactEmail_Several_' . $contactEmailData['email'], $contactEmail);
55
            $manager->persist($contactEmail);
56
        }
57
58
        $contact2 = $this->getReference('Contact_' . LoadContactEntitiesData::SECOND_ENTITY_NAME);
59
        $contactEmail = new ContactEmail();
60
        $contactEmail->setPrimary($this->contactEmailData[0]['primary']);
61
        $contactEmail->setOwner($contact2);
62
        $contactEmail->setEmail($this->contactEmailData[0]['email']);
63
        $this->setReference('ContactEmail_Single_' . $this->contactEmailData[0]['email'], $contactEmail);
64
        $manager->persist($contactEmail);
65
66
67
        $manager->flush();
68
    }
69
}
70

src/OroCRM/Bundle/ContactBundle/Tests/Functional/DataFixtures/LoadContactPhoneData.php 1 location

@@ 11-68 (lines=58) @@
8
9
use OroCRM\Bundle\ContactBundle\Entity\ContactPhone;
10
11
class LoadContactPhoneData extends AbstractFixture implements DependentFixtureInterface
12
{
13
    const FIRST_ENTITY_NAME  = '1111111';
14
    const SECOND_ENTITY_NAME = '2222222';
15
    const THIRD_ENTITY_NAME  = '3333333';
16
17
    public function getDependencies()
18
    {
19
        return [
20
            'OroCRM\Bundle\ContactBundle\Tests\Functional\DataFixtures\LoadContactEntitiesData'
21
        ];
22
    }
23
24
    /**
25
     * @var array
26
     */
27
    protected $contactEmailData = [
28
        [
29
            'phone' => self::FIRST_ENTITY_NAME,
30
            'primary'  => true,
31
        ],
32
        [
33
            'phone' => self::SECOND_ENTITY_NAME,
34
            'primary'  => false,
35
        ],
36
        [
37
            'phone' => self::THIRD_ENTITY_NAME,
38
            'primary'  => false,
39
        ]
40
    ];
41
42
    /**
43
     * {@inheritdoc}
44
     */
45
    public function load(ObjectManager $manager)
46
    {
47
        $contact = $this->getReference('Contact_' . LoadContactEntitiesData::FIRST_ENTITY_NAME);
48
        foreach ($this->contactEmailData as $contactEmailData) {
49
            $contactPhone = new ContactPhone();
50
            $contactPhone->setPrimary($contactEmailData['primary']);
51
            $contactPhone->setOwner($contact);
52
            $contactPhone->setPhone($contactEmailData['phone']);
53
54
            $this->setReference('ContactPhone_Several_' . $contactEmailData['phone'], $contactPhone);
55
            $manager->persist($contactPhone);
56
        }
57
58
        $contact2 = $this->getReference('Contact_' . LoadContactEntitiesData::SECOND_ENTITY_NAME);
59
        $contactPhone = new ContactPhone();
60
        $contactPhone->setPrimary($this->contactEmailData[0]['primary']);
61
        $contactPhone->setOwner($contact2);
62
        $contactPhone->setPhone($this->contactEmailData[0]['phone']);
63
        $this->setReference('ContactPhone_Single_' . $this->contactEmailData[0]['phone'], $contactPhone);
64
        $manager->persist($contactPhone);
65
66
        $manager->flush();
67
    }
68
}
69