Skip to content

Commit 2a548eb

Browse files
committed
Added missing tests
1 parent e43e142 commit 2a548eb

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

tests/Integration/Service/LocalizationTest.php

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,15 @@
1111
use App\Enum\Language;
1212
use App\Enum\Locale;
1313
use App\Service\Localization;
14+
use DateTimeZone;
1415
use Exception;
1516
use PHPUnit\Framework\Attributes\TestDox;
1617
use Psr\Log\LoggerInterface;
1718
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
19+
use Symfony\Component\HttpFoundation\Request;
1820
use Symfony\Component\HttpFoundation\RequestStack;
1921
use Symfony\Contracts\Cache\CacheInterface;
22+
use function count;
2023

2124
/**
2225
* @package App\Tests\Integration\Service
@@ -76,4 +79,56 @@ public function testThatLoggerIsCalledWhenCacheThrowsAnException(): void
7679
(new Localization($cache, $logger, $requestStack))
7780
->getTimezones();
7881
}
82+
83+
#[TestDox('Test that `getFormattedTimezones` method returns expected amount of results')]
84+
public function testThatGetFormattedTimezonesMethodReturnsExpectedAmountOfResults(): void
85+
{
86+
$cache = $this->getMockBuilder(CacheInterface::class)->getMock();
87+
$logger = $this->getMockBuilder(LoggerInterface::class)->getMock();
88+
$requestStack = new RequestStack();
89+
90+
$output = (new Localization($cache, $logger, $requestStack))
91+
->getFormattedTimezones();
92+
93+
self::assertCount(count(DateTimeZone::listIdentifiers()), $output);
94+
}
95+
96+
#[TestDox('Test that `getRequestLocale` method returns expected locale when request is not set')]
97+
public function testThatGetRequestLocaleReturnsDefaultLocaleIfThereIsNoCurrentRequest(): void
98+
{
99+
$cache = $this->getMockBuilder(CacheInterface::class)->getMock();
100+
$logger = $this->getMockBuilder(LoggerInterface::class)->getMock();
101+
$requestStack = new RequestStack();
102+
103+
$cache
104+
->expects($this->never())
105+
->method('get');
106+
107+
$logger
108+
->expects($this->never())
109+
->method('error');
110+
111+
self::assertSame(
112+
Locale::getDefault()->value,
113+
(new Localization($cache, $logger, $requestStack))->getRequestLocale(),
114+
);
115+
}
116+
117+
#[TestDox('Test that `getRequestLocale` method returns expected locale when request is set')]
118+
public function testThatGetRequestLocaleReturnsDefaultLocaleWhenThereIsRequest(): void
119+
{
120+
$cache = $this->getMockBuilder(CacheInterface::class)->getMock();
121+
$logger = $this->getMockBuilder(LoggerInterface::class)->getMock();
122+
123+
$request = new Request();
124+
$request->setLocale('en');
125+
126+
$requestStack = new RequestStack();
127+
$requestStack->push($request);
128+
129+
self::assertSame(
130+
'en',
131+
(new Localization($cache, $logger, $requestStack))->getRequestLocale(),
132+
);
133+
}
79134
}

0 commit comments

Comments
 (0)