forked from mautic/mautic
-
Notifications
You must be signed in to change notification settings - Fork 2
/
FieldAliasHelperTest.php
76 lines (60 loc) · 2.09 KB
/
FieldAliasHelperTest.php
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
<?php
/*
* @copyright 2018 Mautic Contributors. All rights reserved
* @author Mautic, Inc.
*
* @link https://mautic.org
*
* @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
*/
namespace Mautic\LeadBundle\Tests\Helper;
use Mautic\LeadBundle\Entity\LeadField;
use Mautic\LeadBundle\Entity\LeadFieldRepository;
use Mautic\LeadBundle\Helper\FieldAliasHelper;
use Mautic\LeadBundle\Model\FieldModel;
class FieldAliasHelperTest extends \PHPUnit\Framework\TestCase
{
private $fieldModel;
private $fieldRepository;
private $helper;
protected function setUp(): void
{
parent::setUp();
$this->fieldRepository = $this->createMock(LeadFieldRepository::class);
$this->fieldModel = $this->getMockBuilder(FieldModel::class)
->onlyMethods(['cleanAlias', 'getRepository'])
->disableOriginalConstructor()
->getMock();
$this->fieldRepository->method('getAliases')->willReturn([
'title',
'firstname',
'lastname',
]);
$this->fieldModel->method('cleanAlias')->will($this->returnCallback(function () {
return func_get_args()[0];
}));
$this->fieldModel->method('getRepository')->willReturn($this->fieldRepository);
$this->helper = new FieldAliasHelper($this->fieldModel);
}
public function testDuplicatedAliasWithAliasSet()
{
$field = new LeadField();
$field->setAlias('title');
$field = $this->helper->makeAliasUnique($field);
$this->assertEquals('title1', $field->getAlias());
}
public function testDuplicatedAliasWithAliasEmpty()
{
$field = new LeadField();
$field->setName('title');
$field = $this->helper->makeAliasUnique($field);
$this->assertEquals('title1', $field->getAlias());
}
public function testUniqueAliasWithAliasEmpty()
{
$field = new LeadField();
$field->setName('phone');
$field = $this->helper->makeAliasUnique($field);
$this->assertEquals('phone', $field->getAlias());
}
}