/** * @test */ public function shortCodeIsProperlyParsed() { // 12C1c -> 10 $shortCode = '12C1c'; $shortUrl = new ShortUrl(); $shortUrl->setShortCode($shortCode)->setOriginalUrl('expected_url'); $repo = $this->prophesize(ObjectRepository::class); $repo->findOneBy(['shortCode' => $shortCode])->willReturn($shortUrl); $this->em->getRepository(ShortUrl::class)->willReturn($repo->reveal()); $this->assertFalse($this->cache->contains($shortCode . '_longUrl')); $url = $this->urlShortener->shortCodeToUrl($shortCode); $this->assertEquals($shortUrl->getOriginalUrl(), $url); $this->assertTrue($this->cache->contains($shortCode . '_longUrl')); }