Inheritance: extends Neos\Flow\Persistence\Repository
 /**
  * @test
  */
 public function addTag()
 {
     $asset = $this->buildAssetObject();
     $tag = new Tag('test');
     $this->tagRepository->add($tag);
     $asset->addTag($tag);
     $this->persistenceManager->persistAll();
     $this->persistenceManager->clearState();
     $asset = $this->assetRepository->findAll()->getFirst();
     $this->assertAssetHasTags($asset, ['test']);
 }
 /**
  * @test
  */
 public function findBySearchTermReturnsFilteredResult()
 {
     $tag1 = new Tag('foobar');
     $tag2 = new Tag('foo bar');
     $tag3 = new Tag('bar foo bar');
     $this->tagRepository->add($tag1);
     $this->tagRepository->add($tag2);
     $this->tagRepository->add($tag3);
     $this->persistenceManager->persistAll();
     $this->persistenceManager->clearState();
     $this->assertCount(3, $this->tagRepository->findBySearchTerm('foo'));
     $this->assertCount(2, $this->tagRepository->findBySearchTerm('foo bar'));
     $this->assertCount(1, $this->tagRepository->findBySearchTerm(' foo '));
 }
 /**
  * @test
  */
 public function findBySearchTermAndTagsReturnsFilteredResult()
 {
     $tag = new Tag('home');
     $this->tagRepository->add($tag);
     $resource1 = $this->resourceManager->importResource(__DIR__ . '/../../Fixtures/Resources/license.txt');
     $resource2 = $this->resourceManager->importResource(__DIR__ . '/../../Fixtures/Resources/417px-Mihaly_Csikszentmihalyi.jpg');
     $asset1 = new Asset($resource1);
     $asset1->setTitle('asset for homepage');
     $asset2 = new Asset($resource2);
     $asset2->setTitle('just another asset');
     $asset2->addTag($tag);
     $this->assetRepository->add($asset1);
     $this->assetRepository->add($asset2);
     $this->persistenceManager->persistAll();
     $this->persistenceManager->clearState();
     $this->assertCount(2, $this->assetRepository->findBySearchTermOrTags('home', array($tag)));
     $this->assertCount(2, $this->assetRepository->findBySearchTermOrTags('homepage', array($tag)));
     $this->assertCount(1, $this->assetRepository->findBySearchTermOrTags('baz', array($tag)));
     // This is necessary to initialize all resource instances before the tables are deleted
     foreach ($this->assetRepository->findAll() as $asset) {
         $asset->getResource()->getSha1();
     }
 }
 /**
  * Shows a list of assets
  *
  * @param string $searchTerm An optional search term used for filtering the list of assets
  * @return string
  */
 public function indexAction($searchTerm = '')
 {
     $assets = $this->assetRepository->findBySearchTermOrTags($searchTerm, $this->tagRepository->findBySearchTerm($searchTerm)->toArray());
     $this->view->assign('assets', $assets);
 }
 /**
  * @param AssetCollection $assetCollection
  * @return void
  */
 public function editAssetCollectionAction(AssetCollection $assetCollection)
 {
     $this->view->assignMultiple(array('assetCollection' => $assetCollection, 'tags' => $this->tagRepository->findAll()));
 }