Пример #1
0
 function it_throws_exception_when_found_url_but_delete_token_doesnt_match(UrlRepository $repository, Url $url)
 {
     $url->getDeleteToken()->willReturn('other_token');
     $request = new DeleteUrlRequest('uid', 'delete_token');
     $repository->findByUid('uid')->shouldBeCalled()->willReturn($url);
     $this->beConstructedWith($repository);
     $this->shouldThrow('Urleak\\Domain\\Command\\UrlDeleteTokenMismatchException')->during('execute', [$request]);
 }
Пример #2
0
 function it_creates_url_model_from_create_url_request(UrlRepository $repository, UrlFactory $factory, Url $url)
 {
     $request = new CreateUrlRequest('http://google');
     $factory->createUrl($request->getUrl())->shouldBecalled()->willReturn($url);
     $repository->save($url)->shouldBeCalled();
     $this->beConstructedWith($repository, $factory);
     $this->execute($request)->shouldReturn($url);
 }
Пример #3
0
 public function execute(DeleteUrlRequest $request)
 {
     $url = $this->repository->findByUid($request->getUid());
     if (!$url) {
         throw new UrlNotFoundException();
     }
     if ($url->getDeleteToken() !== $request->getDeleteToken()) {
         throw new UrlDeleteTokenMismatchException();
     }
     $this->repository->remove($url);
     return true;
 }
Пример #4
0
 public function execute(CreateUrlRequest $request)
 {
     $url = $this->factory->createUrl($request->getUrl());
     $this->repository->save($url);
     return $url;
 }
 /**
  * @param $uid
  * @return \Urleak\Domain\Model\Url|null
  */
 public function isUsedUid($uid)
 {
     return null !== $this->repository->findByUid($uid);
 }