<?php declare(strict_types=1); namespace ShlinkioTest\Shlink\Core\Exception; use PHPUnit\Framework\TestCase; use Shlinkio\Shlink\Core\Exception\DomainNotFoundException; use function sprintf; class DomainNotFoundExceptionTest extends TestCase { /** @test */ public function properlyCreatesExceptionFromId(): void { $id = '123'; $expectedMessage = sprintf('Domain with id "%s" could not be found', $id); $e = DomainNotFoundException::fromId($id); self::assertEquals($expectedMessage, $e->getMessage()); self::assertEquals($expectedMessage, $e->getDetail()); self::assertEquals('Domain not found', $e->getTitle()); self::assertEquals('DOMAIN_NOT_FOUND', $e->getType()); self::assertEquals(['id' => $id], $e->getAdditionalData()); self::assertEquals(404, $e->getStatus()); } /** @test */ public function properlyCreatesExceptionFromAuthority(): void { $authority = 'example.com'; $expectedMessage = sprintf('Domain with authority "%s" could not be found', $authority); $e = DomainNotFoundException::fromAuthority($authority); self::assertEquals($expectedMessage, $e->getMessage()); self::assertEquals($expectedMessage, $e->getDetail()); self::assertEquals('Domain not found', $e->getTitle()); self::assertEquals('DOMAIN_NOT_FOUND', $e->getType()); self::assertEquals(['authority' => $authority], $e->getAdditionalData()); self::assertEquals(404, $e->getStatus()); } }