/** * 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; } }