public function testGetOldPaths() { $this->assertEmpty($this->storage->getOldPaths()); $this->storage->setPath('foo'); $this->assertEmpty($this->storage->getOldPaths()); $this->storage->setPath('bar'); $this->assertEquals(['foo'], $this->storage->getOldPaths()); $this->storage->setPath('baz'); $this->assertEquals(['foo', 'bar'], $this->storage->getOldPaths()); }
/** * Add storage (Stap #2). * * @param Request $request * * @return Response */ public function addStorageAction(Request $request) { // app already installed if ($this->container->getParameter('anime_db.catalog.installed')) { return $this->redirect($this->generateUrl('home')); } $response = $this->getCacheTimeKeeper()->getResponse('AnimeDbCatalogBundle:Storage'); // response was not modified for this request if ($response->isNotModified($request)) { return $response; } // get last storage $storage = $this->getRepository()->getLast(); if (!$storage) { $storage = new Storage(); $storage->setPath(Filesystem::getUserHomeDir()); } $form = $this->createForm(new StorageForm(), $storage)->handleRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($storage); $em->flush(); // redirect to step 3 return $this->redirect($this->generateUrl('install_what_you_want')); } return $this->render('AnimeDbCatalogBundle:Install:add_storage.html.twig', ['form' => $form->createView(), 'is_new' => !$storage->getId(), 'guide' => $this->get('anime_db.api.client')->getSiteUrl(StorageController::GUIDE_LINK)], $response); }