1 | <?php |
||
2 | |||
3 | /* |
||
4 | * @copyright 2018 Mautic Contributors. All rights reserved |
||
5 | * @author Mautic |
||
6 | * |
||
7 | * @link http://mautic.org |
||
8 | * |
||
9 | * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html |
||
10 | */ |
||
11 | |||
12 | namespace Mautic\CoreBundle\Test\EventListener; |
||
13 | |||
14 | use Doctrine\DBAL\Connection; |
||
15 | use Doctrine\DBAL\Query\Expression\ExpressionBuilder; |
||
16 | use Doctrine\DBAL\Query\QueryBuilder; |
||
17 | use Mautic\CoreBundle\CoreEvents; |
||
18 | use Mautic\CoreBundle\Event\MaintenanceEvent; |
||
19 | use Mautic\CoreBundle\EventListener\MaintenanceSubscriber; |
||
20 | use Mautic\UserBundle\Entity\UserTokenRepositoryInterface; |
||
21 | use Symfony\Component\Translation\TranslatorInterface; |
||
22 | |||
23 | class MaintenanceSubscriberTest extends \PHPUnit\Framework\TestCase |
||
24 | { |
||
25 | /** |
||
26 | * @var MaintenanceSubscriber |
||
27 | */ |
||
28 | private $subscriber; |
||
29 | |||
30 | protected function setUp(): void |
||
31 | { |
||
32 | $connection = $this->createMock(Connection::class); |
||
33 | $userTokenRepository = $this->createMock(UserTokenRepositoryInterface::class); |
||
34 | $translator = $this->createMock(TranslatorInterface::class); |
||
35 | $this->subscriber = new MaintenanceSubscriber($connection, $userTokenRepository, $translator); |
||
36 | } |
||
37 | |||
38 | public function testGetSubscribedEvents() |
||
39 | { |
||
40 | $this->assertEquals( |
||
41 | [CoreEvents::MAINTENANCE_CLEANUP_DATA => ['onDataCleanup', -50]], |
||
42 | $this->subscriber->getSubscribedEvents() |
||
43 | ); |
||
44 | } |
||
45 | |||
46 | public function testOnDataCleanup() |
||
47 | { |
||
48 | if (!defined('MAUTIC_TABLE_PREFIX')) { |
||
49 | define('MAUTIC_TABLE_PREFIX', 'mautic'); |
||
50 | } |
||
51 | |||
52 | $dateTime = new \DateTimeImmutable(); |
||
53 | $format = 'Y-m-d H:i:s'; |
||
54 | $rowCount = 2; |
||
55 | $translatedString = 'nonsense'; |
||
56 | |||
57 | $dateTimeMock = $this->createMock(\DateTime::class); |
||
58 | $dateTimeMock |
||
59 | ->expects($this->exactly(2)) |
||
60 | ->method('format') |
||
61 | ->with($format) |
||
62 | ->willReturn($dateTime->format($format)); |
||
63 | |||
64 | $event = $this->createMock(MaintenanceEvent::class); |
||
65 | $event |
||
66 | ->expects($this->exactly(2)) |
||
67 | ->method('getDate') |
||
68 | ->willReturn($dateTimeMock); |
||
69 | $event |
||
70 | ->expects($this->exactly(3)) |
||
71 | ->method('isDryRun') |
||
72 | ->willReturn(false); |
||
73 | $event |
||
74 | ->expects($this->exactly(3)) |
||
75 | ->method('setStat'); |
||
76 | |||
77 | $expressionBuilder = $this->createMock(ExpressionBuilder::class); |
||
78 | $expressionBuilder |
||
79 | ->expects($this->exactly(2)) |
||
80 | ->method('lte') |
||
81 | ->with('date_added', ':date'); |
||
82 | |||
83 | $qb = $this->createMock(QueryBuilder::class); |
||
84 | $qb |
||
85 | ->expects($this->exactly(2)) |
||
86 | ->method('setParameter') |
||
87 | ->willReturn($qb); |
||
88 | $qb |
||
89 | ->expects($this->exactly(2)) |
||
90 | ->method('delete') |
||
91 | ->willReturn($qb); |
||
92 | $qb |
||
93 | ->expects($this->exactly(2)) |
||
94 | ->method('expr') |
||
95 | ->willReturn($expressionBuilder); |
||
96 | $qb |
||
97 | ->expects($this->exactly(2)) |
||
98 | ->method('where') |
||
99 | ->willReturn($qb); |
||
100 | $qb |
||
101 | ->expects($this->exactly(2)) |
||
102 | ->method('execute') |
||
103 | ->willReturn($rowCount); |
||
104 | |||
105 | $connection = $this->createMock(Connection::class); |
||
106 | $connection |
||
107 | ->expects($this->exactly(2)) |
||
108 | ->method('createQueryBuilder') |
||
109 | ->willReturn($qb); |
||
110 | |||
111 | $translator = $this->createMock(TranslatorInterface::class); |
||
112 | $userTokenRepository = $this->createMock(UserTokenRepositoryInterface::class); |
||
113 | $subscriber = new MaintenanceSubscriber($connection, $userTokenRepository, $translator); |
||
114 | |||
115 | $translator |
||
116 | ->expects($this->exactly(3)) |
||
117 | ->method('trans') |
||
118 | ->willReturn($translatedString); |
||
119 | |||
120 | $this->assertNull($subscriber->onDataCleanup($event)); |
||
0 ignored issues
–
show
|
|||
121 | } |
||
122 | } |
||
123 |
This check looks for function or method calls that always return null and whose return value is used.
The method
getObject()
can return nothing but null, so it makes no sense to use the return value.The reason is most likely that a function or method is imcomplete or has been reduced for debug purposes.