File size: 3,502 Bytes
d2897cd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php

declare(strict_types=1);

namespace Mautic\LeadBundle\Tests\Entity;

use Mautic\LeadBundle\Entity\Company;
use PHPUnit\Framework\Assert;
use PHPUnit\Framework\TestCase;

final class CompanyUnitTest extends TestCase
{
    public function testChanges(): void
    {
        $company = new Company();

        Assert::assertSame([], $company->getChanges());

        $company->setEmail('[email protected]');
        $company->setScore(2);
        $company->setName('Acquia');
        $company->setAddress1('Acquia avenue');
        $company->setAddress2('1234');
        $company->setPhone('123456789');
        $company->setCity('Boston');
        $company->setState('MA');
        $company->setZipcode('MA1234');
        $company->setCountry('US');
        $company->setWebsite('acquia.com');
        $company->setIndustry('DXP');
        $company->setDescription('Supports open source');

        Assert::assertSame(
            [
                'companyemail'       => [null, '[email protected]'],
                'score'              => [0, 2],
                'companyname'        => [null, 'Acquia'],
                'companyaddress1'    => [null, 'Acquia avenue'],
                'companyaddress2'    => [null, '1234'],
                'companyphone'       => [null, '123456789'],
                'companycity'        => [null, 'Boston'],
                'companystate'       => [null, 'MA'],
                'companyzipcode'     => [null, 'MA1234'],
                'companycountry'     => [null, 'US'],
                'companywebsite'     => [null, 'acquia.com'],
                'companyindustry'    => [null, 'DXP'],
                'companydescription' => [null, 'Supports open source'],
            ],
            $company->getChanges()
        );

        $company->setEmail('[email protected] - updated');
        $company->setScore(5);
        $company->setName('Acquia - updated');
        $company->setAddress1('Acquia avenue - updated');
        $company->setAddress2('1234 - updated');
        $company->setPhone('123456789 - updated');
        $company->setCity('Boston - updated');
        $company->setState('MA - updated');
        $company->setZipcode('MA1234 - updated');
        $company->setCountry('US - updated');
        $company->setWebsite('acquia.com - updated');
        $company->setIndustry('DXP - updated');
        $company->setDescription('Supports open source - updated');

        Assert::assertSame(
            [
                'companyemail'       => ['[email protected]', '[email protected] - updated'],
                'score'              => [2, 5],
                'companyname'        => ['Acquia', 'Acquia - updated'],
                'companyaddress1'    => ['Acquia avenue', 'Acquia avenue - updated'],
                'companyaddress2'    => ['1234', '1234 - updated'],
                'companyphone'       => ['123456789', '123456789 - updated'],
                'companycity'        => ['Boston', 'Boston - updated'],
                'companystate'       => ['MA', 'MA - updated'],
                'companyzipcode'     => ['MA1234', 'MA1234 - updated'],
                'companycountry'     => ['US', 'US - updated'],
                'companywebsite'     => ['acquia.com', 'acquia.com - updated'],
                'companyindustry'    => ['DXP', 'DXP - updated'],
                'companydescription' => ['Supports open source', 'Supports open source - updated'],
            ],
            $company->getChanges()
        );
    }
}