Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Tests\Service;
- use App\Repository\FirstRepository;
- use App\Repository\SecondRepository;
- use App\Service\AppManager;
- use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
- class AppManagerTest extends KernelTestCase
- {
- public function testFirst_Success()
- {
- static::bootKernel();
- $a = 2;
- $b = 3;
- $firstRepositoryMock = $this->createMock(FirstRepository::class);
- $firstRepositoryMock->expects($this->once())
- ->method('find')
- ->with($a, $b);
- $appService = new AppManager(
- $firstRepositoryMock,
- self::$container->get('App\Repository\SecondRepository'),
- );
- $this->assertSame(5, $appService->first($a, $b));
- }
- public function testSecond_Success()
- {
- static::bootKernel();
- $secondRepositoryMock = $this->createMock(SecondRepository::class);
- $secondRepositoryMock->expects($this->once())
- ->method('clear');
- $appService = new AppManager(
- self::$container->get('App\Repository\FirstRepository'),
- $secondRepositoryMock,
- );
- $this->assertNull($appService->second());
- }
- }
- ?>
- <?php
- namespace App\Service;
- use App\Repository\FirstRepository;
- use App\Repository\SecondRepository;
- class AppManager
- {
- /** @var FirstRepository */
- protected $firstRepository;
- /** @var SecondRepository */
- protected $secondRepository;
- public function __construct(
- FirstRepository $firstRepository,
- SecondRepository $secondRepository
- ) {
- $this->firstRepository = $firstRepository;
- $this->secondRepository = $secondRepository;
- }
- public function first(int $a, int $b): int
- {
- $this->firstRepository->find($a, $b);
- return $a + $b;
- }
- public function second(): void
- {
- $this->secondRepository->clear();
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement