/**
  * testGetCachedInstanceRoute
  *
  * @return void
  */
 public function testGetCachedInstanceRoute()
 {
     $dummyInstanceRoute = new InstanceRoute(['url' => 'url', 'module' => 'module/xpressengine@id', 'instanceId' => 'instanceId', 'menuId' => 'basic', 'site' => 'test']);
     $cache = $this->cache;
     $cache->shouldReceive('has')->andReturn(true);
     $cache->shouldReceive('get')->andReturn(serialize($dummyInstanceRoute));
     $cacheHandler = new InstanceRouteCacheHandler($cache, false);
     $instanceRoute = $cacheHandler->getCachedInstanceRoute('test');
     $this->assertEquals('url', $instanceRoute->url);
     $this->assertEquals('module/xpressengine@id', $instanceRoute->module);
     $this->assertEquals('instanceId', $instanceRoute->instanceId);
     $this->assertEquals('basic', $instanceRoute->menuId);
     $this->assertEquals('test', $instanceRoute->site);
 }
 /**
  * Get One Instance Route
  * return one Instance Route from repo
  *
  * @param string $instanceId instance id
  *
  * @return InstanceRoute
  * @throws Exceptions\NotFoundInstanceRouteException
  *
  */
 public function getByInstanceId($instanceId)
 {
     if (isset($this->loadedInstanceRoutes[$instanceId])) {
         return $this->loadedInstanceRoutes[$instanceId];
     } else {
         if ($this->cache->isExistCachedInstanceRoute($instanceId)) {
             $instanceRoute = $this->cache->getCachedInstanceRoute($instanceId);
         } else {
             $instanceRoute = $this->instanceRouteRepository->find($instanceId);
             $this->cache->setInstanceRouteCache($instanceId, $instanceRoute);
         }
         $this->loadedInstanceRoutes[$instanceId] = $instanceRoute;
         return $instanceRoute;
     }
 }