shlink/module/Core/test/Service/VisitServiceTest.php
2016-07-30 23:01:07 +02:00

49 lines
1.3 KiB
PHP

<?php
namespace ShlinkioTest\Shlink\Core\Service;
use Doctrine\ORM\EntityManager;
use PHPUnit_Framework_TestCase as TestCase;
use Prophecy\Prophecy\ObjectProphecy;
use Shlinkio\Shlink\Core\Entity\Visit;
use Shlinkio\Shlink\Core\Repository\VisitRepository;
use Shlinkio\Shlink\Core\Service\VisitService;
class VisitServiceTest extends TestCase
{
/**
* @var VisitService
*/
protected $visitService;
/**
* @var ObjectProphecy
*/
protected $em;
public function setUp()
{
$this->em = $this->prophesize(EntityManager::class);
$this->visitService = new VisitService($this->em->reveal());
}
/**
* @test
*/
public function saveVisitsPersistsProvidedVisit()
{
$visit = new Visit();
$this->em->persist($visit)->shouldBeCalledTimes(1);
$this->em->flush()->shouldBeCalledTimes(1);
$this->visitService->saveVisit($visit);
}
/**
* @test
*/
public function getUnlocatedVisitsFallbacksToRepository()
{
$repo = $this->prophesize(VisitRepository::class);
$repo->findUnlocatedVisits()->shouldBeCalledTimes(1);
$this->em->getRepository(Visit::class)->willReturn($repo->reveal())->shouldBeCalledTimes(1);
$this->visitService->getUnlocatedVisits();
}
}