-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
/
TagRepositoryTest.php
84 lines (67 loc) · 2.34 KB
/
TagRepositoryTest.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
77
78
79
80
81
82
83
84
<?php
/*
* @copyright 2016 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\Entity;
use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Mapping\ClassMetadata;
use Mautic\LeadBundle\Entity\Tag;
use Mautic\LeadBundle\Entity\TagRepository;
class TagRepositoryTest extends \PHPUnit\Framework\TestCase
{
public function testGetTagByNameOrCreateNewOneWithSomeExistingTag()
{
$fetchedEntity = new Tag('sometag');
$mockRepository = $this->getMockBuilder(TagRepository::class)
->disableOriginalConstructor()
->onlyMethods(['findOneBy'])
->getMock();
$mockRepository->expects($this->once())
->method('findOneBy')
->with(['tag' => 'sometag'])
->willReturn($fetchedEntity);
$this->assertSame($fetchedEntity, $mockRepository->getTagByNameOrCreateNewOne('sometag'));
}
public function testGetTagByNameOrCreateNewOneWithSomeNewTag()
{
$mockRepository = $this->getMockBuilder(TagRepository::class)
->disableOriginalConstructor()
->onlyMethods(['findOneBy'])
->getMock();
$mockRepository->expects($this->once())
->method('findOneBy')
->with(['tag' => 'sometag'])
->willReturn(null);
$newEntity = $mockRepository->getTagByNameOrCreateNewOne('sometag');
$this->assertSame('sometag', $newEntity->getTag());
$this->assertNull($newEntity->getId());
}
public function testRemoveMinusFromTags()
{
$mockEntityManager = $this->getMockBuilder(EntityManager::class)
->disableOriginalConstructor()
->getMock();
$mockMetadata = $this->getMockBuilder(ClassMetadata::class)
->disableOriginalConstructor()
->getMock();
$repository = new TagRepository($mockEntityManager, $mockMetadata);
$tags = [
'sometag1',
'-sometag2',
'sometag3',
'-sometag4',
];
$expected = [
'sometag1',
'sometag2',
'sometag3',
'sometag4',
];
$this->assertSame($expected, $repository->removeMinusFromTags($tags));
}
}