1 | <?php |
||
2 | |||
3 | /* |
||
4 | * @copyright 2016 Mautic Contributors. All rights reserved |
||
5 | * @author Mautic, Inc. |
||
6 | * |
||
7 | * @link https://mautic.org |
||
8 | * |
||
9 | * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html |
||
10 | */ |
||
11 | |||
12 | namespace Mautic\PageBundle\Tests; |
||
13 | |||
14 | use Doctrine\ORM\EntityManager; |
||
15 | use Mautic\CoreBundle\Helper\CookieHelper; |
||
16 | use Mautic\CoreBundle\Helper\CoreParametersHelper; |
||
17 | use Mautic\CoreBundle\Helper\IpLookupHelper; |
||
18 | use Mautic\CoreBundle\Helper\UrlHelper; |
||
19 | use Mautic\CoreBundle\Helper\UserHelper; |
||
20 | use Mautic\CoreBundle\Translation\Translator; |
||
21 | use Mautic\LeadBundle\Entity\Lead; |
||
22 | use Mautic\LeadBundle\Model\CompanyModel; |
||
23 | use Mautic\LeadBundle\Model\FieldModel; |
||
24 | use Mautic\LeadBundle\Model\LeadModel; |
||
25 | use Mautic\LeadBundle\Tracker\ContactTracker; |
||
26 | use Mautic\LeadBundle\Tracker\DeviceTracker; |
||
27 | use Mautic\PageBundle\Entity\HitRepository; |
||
28 | use Mautic\PageBundle\Entity\PageRepository; |
||
29 | use Mautic\PageBundle\Model\PageModel; |
||
30 | use Mautic\PageBundle\Model\RedirectModel; |
||
31 | use Mautic\PageBundle\Model\TrackableModel; |
||
32 | use Mautic\QueueBundle\Queue\QueueService; |
||
33 | use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; |
||
34 | use Symfony\Component\EventDispatcher\EventDispatcher; |
||
35 | |||
36 | class PageTestAbstract extends WebTestCase |
||
37 | { |
||
38 | protected static $mockId = 123; |
||
39 | protected static $mockName = 'Mock test name'; |
||
40 | protected $mockTrackingId; |
||
41 | protected $container; |
||
42 | |||
43 | protected function setUp(): void |
||
44 | { |
||
45 | self::bootKernel(); |
||
46 | $this->mockTrackingId = hash('sha1', uniqid(mt_rand(), true)); |
||
47 | $this->container = self::$kernel->getContainer(); |
||
48 | } |
||
49 | |||
50 | /** |
||
51 | * @return PageModel |
||
52 | */ |
||
53 | protected function getPageModel($transliterationEnabled = true) |
||
54 | { |
||
55 | $cookieHelper = $this |
||
56 | ->getMockBuilder(CookieHelper::class) |
||
57 | ->disableOriginalConstructor() |
||
58 | ->getMock(); |
||
59 | |||
60 | $router = $this->container->get('router'); |
||
61 | |||
62 | $ipLookupHelper = $this |
||
63 | ->getMockBuilder(IpLookupHelper::class) |
||
64 | ->disableOriginalConstructor() |
||
65 | ->getMock(); |
||
66 | |||
67 | $leadModel = $this |
||
68 | ->getMockBuilder(LeadModel::class) |
||
69 | ->disableOriginalConstructor() |
||
70 | ->getMock(); |
||
71 | |||
72 | $leadFieldModel = $this |
||
73 | ->getMockBuilder(FieldModel::class) |
||
74 | ->disableOriginalConstructor() |
||
75 | ->getMock(); |
||
76 | |||
77 | $redirectModel = $this->getRedirectModel(); |
||
78 | |||
79 | $companyModel = $this |
||
80 | ->getMockBuilder(CompanyModel::class) |
||
81 | ->disableOriginalConstructor() |
||
82 | ->getMock(); |
||
83 | |||
84 | $trackableModel = $this |
||
85 | ->getMockBuilder(TrackableModel::class) |
||
86 | ->disableOriginalConstructor() |
||
87 | ->getMock(); |
||
88 | |||
89 | $dispatcher = $this |
||
90 | ->getMockBuilder(EventDispatcher::class) |
||
91 | ->disableOriginalConstructor() |
||
92 | ->getMock(); |
||
93 | |||
94 | $translator = $this |
||
95 | ->getMockBuilder(Translator::class) |
||
96 | ->disableOriginalConstructor() |
||
97 | ->getMock(); |
||
98 | |||
99 | $entityManager = $this |
||
100 | ->getMockBuilder(EntityManager::class) |
||
101 | ->disableOriginalConstructor() |
||
102 | ->getMock(); |
||
103 | |||
104 | $pageRepository = $this |
||
105 | ->getMockBuilder(PageRepository::class) |
||
106 | ->disableOriginalConstructor() |
||
107 | ->getMock(); |
||
108 | |||
109 | $coreParametersHelper = $this |
||
110 | ->getMockBuilder(CoreParametersHelper::class) |
||
111 | ->disableOriginalConstructor() |
||
112 | ->getMock(); |
||
113 | |||
114 | $hitRepository = $this->createMock(HitRepository::class); |
||
115 | $userHelper = $this->createMock(UserHelper::class); |
||
116 | |||
117 | $queueService = $this |
||
118 | ->getMockBuilder(QueueService::class) |
||
119 | ->disableOriginalConstructor() |
||
120 | ->getMock(); |
||
121 | |||
122 | $contactTracker = $this->createMock(ContactTracker::class); |
||
123 | |||
124 | $contactTracker->expects($this |
||
125 | ->any()) |
||
126 | ->method('getContact') |
||
127 | ->willReturn($this |
||
128 | ->returnValue(['id' => self::$mockId, 'name' => self::$mockName]) |
||
129 | ); |
||
130 | |||
131 | $queueService->expects($this |
||
132 | ->any()) |
||
133 | ->method('isQueueEnabled') |
||
134 | ->will( |
||
135 | $this->returnValue(false) |
||
136 | ); |
||
137 | |||
138 | $entityManager->expects($this |
||
139 | ->any()) |
||
140 | ->method('getRepository') |
||
141 | ->will( |
||
142 | $this->returnValueMap( |
||
143 | [ |
||
144 | ['MauticPageBundle:Page', $pageRepository], |
||
145 | ['MauticPageBundle:Hit', $hitRepository], |
||
146 | ] |
||
147 | ) |
||
148 | ); |
||
149 | |||
150 | $coreParametersHelper->expects($this->any()) |
||
151 | ->method('get') |
||
152 | ->with('transliterate_page_title') |
||
153 | ->willReturn($transliterationEnabled); |
||
154 | |||
155 | $deviceTrackerMock = $this->createMock(DeviceTracker::class); |
||
156 | |||
157 | $pageModel = new PageModel( |
||
158 | $cookieHelper, |
||
159 | $ipLookupHelper, |
||
160 | $leadModel, |
||
161 | $leadFieldModel, |
||
162 | $redirectModel, |
||
163 | $trackableModel, |
||
164 | $queueService, |
||
165 | $companyModel, |
||
166 | $deviceTrackerMock, |
||
167 | $contactTracker, |
||
168 | $coreParametersHelper |
||
169 | ); |
||
170 | |||
171 | $pageModel->setDispatcher($dispatcher); |
||
172 | $pageModel->setTranslator($translator); |
||
173 | $pageModel->setEntityManager($entityManager); |
||
174 | $pageModel->setRouter($router); |
||
175 | $pageModel->setUserHelper($userHelper); |
||
176 | |||
177 | return $pageModel; |
||
178 | } |
||
179 | |||
180 | /** |
||
181 | * @return RedirectModel |
||
182 | */ |
||
183 | protected function getRedirectModel() |
||
184 | { |
||
185 | $urlHelper = $this |
||
186 | ->getMockBuilder(UrlHelper::class) |
||
187 | ->disableOriginalConstructor() |
||
188 | ->getMock(); |
||
189 | |||
190 | $mockRedirectModel = $this->getMockBuilder('Mautic\PageBundle\Model\RedirectModel') |
||
0 ignored issues
–
show
|
|||
191 | ->setConstructorArgs([$urlHelper]) |
||
192 | ->setMethods(['createRedirectEntity', 'generateRedirectUrl']) |
||
193 | ->getMock(); |
||
194 | |||
195 | $mockRedirect = $this->getMockBuilder('Mautic\PageBundle\Entity\Redirect') |
||
196 | ->getMock(); |
||
197 | |||
198 | $mockRedirectModel->expects($this->any()) |
||
199 | ->method('createRedirectEntity') |
||
200 | ->willReturn($mockRedirect); |
||
201 | |||
202 | $mockRedirectModel->expects($this->any()) |
||
203 | ->method('generateRedirectUrl') |
||
204 | ->willReturn('http://some-url.com'); |
||
205 | |||
206 | return $mockRedirectModel; |
||
0 ignored issues
–
show
|
|||
207 | } |
||
208 | } |
||
209 |
This function has been deprecated. The supplier of the function has supplied an explanatory message.
The explanatory message should give you some clue as to whether and when the function will be removed and what other function to use instead.