Skip to content

Commit b919f00

Browse files
committed
MissingMessageIdException
1 parent fa42258 commit b919f00

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace PhpList\Core\Domain\Analytics\Exception;
6+
7+
use LogicException;
8+
9+
class MissingMessageIdException extends LogicException
10+
{
11+
public function __construct()
12+
{
13+
parent::__construct('Message must have an ID');
14+
}
15+
}

src/Domain/Analytics/Service/LinkTrackService.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
namespace PhpList\Core\Domain\Analytics\Service;
66

7-
use InvalidArgumentException;
87
use PhpList\Core\Core\ConfigProvider;
8+
use PhpList\Core\Domain\Analytics\Exception\MissingMessageIdException;
99
use PhpList\Core\Domain\Analytics\Model\LinkTrack;
1010
use PhpList\Core\Domain\Analytics\Repository\LinkTrackRepository;
1111
use PhpList\Core\Domain\Messaging\Model\Message;
@@ -36,7 +36,7 @@ public function isExtractAndSaveLinksApplicable(): bool
3636
* Extract links from message content and save them to the LinkTrackRepository
3737
*
3838
* @return LinkTrack[] The saved LinkTrack entities
39-
* @throws InvalidArgumentException if the message doesn't have an ID
39+
* @throws MissingMessageIdException
4040
*/
4141
public function extractAndSaveLinks(Message $message, int $userId): array
4242
{
@@ -48,7 +48,7 @@ public function extractAndSaveLinks(Message $message, int $userId): array
4848
$messageId = $message->getId();
4949

5050
if ($messageId === null) {
51-
throw new InvalidArgumentException('Message must have an ID');
51+
throw new MissingMessageIdException();
5252
}
5353

5454
$links = $this->extractLinksFromHtml($content->getText() ?? '');

tests/Unit/Domain/Analytics/Service/LinkTrackServiceTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
namespace PhpList\Core\Tests\Unit\Domain\Analytics\Service;
66

7-
use InvalidArgumentException;
87
use PhpList\Core\Core\ConfigProvider;
8+
use PhpList\Core\Domain\Analytics\Exception\MissingMessageIdException;
99
use PhpList\Core\Domain\Analytics\Model\LinkTrack;
1010
use PhpList\Core\Domain\Analytics\Repository\LinkTrackRepository;
1111
use PhpList\Core\Domain\Analytics\Service\LinkTrackService;
@@ -172,7 +172,7 @@ public function testExtractAndSaveLinksWithMessageWithoutId(): void
172172
$message->method('getId')->willReturn(null);
173173
$message->method('getContent')->willReturn($messageContent);
174174

175-
$this->expectException(InvalidArgumentException::class);
175+
$this->expectException(MissingMessageIdException::class);
176176
$this->expectExceptionMessage('Message must have an ID');
177177

178178
$this->subject->extractAndSaveLinks($message, $userId);

0 commit comments

Comments
 (0)