File size: 3,288 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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php

declare(strict_types=1);

namespace Mautic\CoreBundle\Test\Event;

use Mautic\CoreBundle\Event\TokenReplacementEvent;
use Mautic\LeadBundle\Entity\Lead;
use PHPUnit\Framework\TestCase;

class TokenReplacementEventTest extends TestCase
{
    public function testGetPassthrough(): void
    {
        $passthrough = ['passthrough'];
        $event       = new TokenReplacementEvent('', null, [], $passthrough);
        self::assertSame($passthrough, $event->getPassthrough());
    }

    public function testGetSetContent(): void
    {
        $content = 'content';
        $event   = new TokenReplacementEvent($content);
        self::assertSame($content, $event->getContent());
    }

    public function testAddGetTokens(): void
    {
        $token  = 'token';
        $value  = 'value';
        $token1 = 'token1';
        $value1 = 'value1';
        $event  = new TokenReplacementEvent('');
        self::assertSame([], $event->getTokens());
        $event->addToken($token, $value);
        self::assertSame([$token => $value], $event->getTokens());
        $event->addToken($token1, $value1);
        self::assertSame(
            [
                $token  => $value,
                $token1 => $value1,
            ],
            $event->getTokens()
        );
    }

    public function testGetClickthrough(): void
    {
        $leadId           = 1;
        $leadEntity['id'] = $leadId;
        $clickthrough     = ['lead' => $leadEntity];
        $event            = new TokenReplacementEvent('', $leadEntity, $clickthrough);
        self::assertSame(
            ['lead' => 1],
            $event->getClickthrough()
        );

        $leadEntity   = new Lead();

        $clickthrough = ['lead', $leadEntity];
        $event        = new TokenReplacementEvent('', $leadEntity, $clickthrough);
        self::assertSame(
            $clickthrough,
            $event->getClickthrough()
        );

        $leadEntity->setId($leadId);
        $clickthrough = ['lead' => $leadEntity];
        $event        = new TokenReplacementEvent('', $leadEntity, $clickthrough);
        self::assertSame(
            ['lead' => 1],
            $event->getClickthrough()
        );
    }

    public function testGetEntity(): void
    {
        $lead  = new Lead();
        $event = new TokenReplacementEvent($lead);
        self::assertSame(
            $lead,
            $event->getEntity()
        );
    }

    public function testSetClickthrough(): void
    {
        $lead         = new Lead();
        $event        = new TokenReplacementEvent($lead);
        $clickthrough = ['clickthrough'];
        $event->setClickthrough($clickthrough);

        self::assertSame($clickthrough, $event->getClickthrough());
    }

    public function testGetLead(): void
    {
        $lead  = null;
        $event = new TokenReplacementEvent('', $lead);
        self::assertSame($lead, $event->getLead());
        $lead  = new Lead();
        $event = new TokenReplacementEvent('', $lead);
        self::assertSame($lead, $event->getLead());
    }

    public function testSetContent(): void
    {
        $content1 = 'content1';
        $event    = new TokenReplacementEvent('');
        $event->setContent($content1);
        self::assertSame($content1, $event->getContent());
    }
}