/** * @test * @group library */ public function getWithSearchAndLimitFilterShouldReturnMatchesAndApplyLimit() { $mediaItems = $this->service->getByWebsiteIdAndFilter($this->websiteId, array('search' => 'Test_Data_Search_Filter', 'limit' => 1)); $this->assertTrue(count($mediaItems) == 1); foreach ($mediaItems as $mediaItem) { $this->assertInstanceOf('Cms\\Data\\Media', $mediaItem); } }
/** * @test * @group library */ public function getAllWithTypeAndLimitFilterShouldReturnTypeMatchesAndApplyLimit() { $mediaItems = $this->service->getByWebsiteIdAndFilter($this->websiteId, array('type' => 'image', 'limit' => 3, 'albumid' => $this->albumId)); $this->assertTrue(count($mediaItems) == 3); foreach ($mediaItems as $mediaItem) { $this->assertInstanceOf('Cms\\Data\\Media', $mediaItem); } }
/** * @param string $name * @param string $websiteId * @return Cms\Response\Media */ private function getItemByNameAndWebsiteId($name, $websiteId) { $medias = $this->service->getByWebsiteIdAndFilter($websiteId); foreach ($medias as $media) { if ($media->getName() === $name) { return $media; } } }
/** * @test * @group library */ public function copyMediaShouldBeIgnoredCopyWhenSourceHasNoMedia() { $sourceWebsiteId = 'SITE-mc10e89c-2cmf-46cd-a651-fc42dc7812so-SITE'; $newWebsiteId = 'SITE-mc10e89c-2cmf-46cd-a651-fc42dc7f75de-SITE'; try { $this->service->copyMediaToNewWebsite($sourceWebsiteId, $newWebsiteId); } catch (\InvalidArgumentException $e) { $this->fail('Copy of non existing source media should not occur'); } }
/** * @test * @group library */ public function success() { $createValues = array('name' => 'service test media', 'albumid' => 'ALBUM-d6569ffb-4005-48db-992e-b40ea135c0d8-ALBUM', 'extension' => 'jpg', 'size' => '10000', 'type' => 'image'); $testMedia = $this->service->create($this->websiteId, $createValues); $this->assertSame($createValues['name'], $testMedia->getName()); $this->assertSame($this->websiteId, $testMedia->getWebsiteId()); $this->assertSame($createValues['albumid'], $testMedia->getAlbumId()); $this->assertSame($createValues['extension'], $testMedia->getExtension()); $this->assertSame($createValues['size'], $testMedia->getSize()); $this->assertSame($createValues['type'], $testMedia->getType()); // Timestamp der letzten Aenderung darf nicht aelter sein als ein paar Sekunden $this->assertNotNull($testMedia->getLastupdate()); $currentTime = time(); $this->assertLessThanOrEqual($currentTime, $testMedia->getLastupdate()); $this->assertGreaterThan($currentTime - 2, $testMedia->getLastupdate()); }
/** * @test * @group library */ public function success() { $websiteId = 'SITE-779ca2e0-7948-4bd6-958f-8a92e287fe22-SITE'; $existsMediaIds = array('MDB-e2611218-3590-4cdf-b7bc-4d59ed4c88aa-MDB', 'MDB-dca4f746-c420-407f-b145-7de175d2bb09-MDB'); $nonExistsMediaIds = array('MDB-366869ef-6e4a-4646-b44c-5853a6cc994f-MDB', 'MDB-0733a4c1-1bef-4cc5-9ab3-67103e161984-MDB'); $mediaIds = array_merge($existsMediaIds, $nonExistsMediaIds); $medias = $this->service->getMultipleByIds($mediaIds, $websiteId); $this->assertInternalType('array', $medias); $this->assertSame(count($existsMediaIds), count($medias)); $resultMediaIds = array(); foreach ($medias as $media) { $this->assertInstanceOf('Cms\\Data\\Media', $media); $this->assertSame($websiteId, $media->getWebsiteId()); $resultMediaIds[] = $media->getId(); } sort($existsMediaIds); sort($resultMediaIds); $this->assertSame($existsMediaIds, $resultMediaIds); }
/** * @param array $mediaIds */ public function preloadMediaItems(array $mediaIds) { if (count($mediaIds) <= 0) { return; } $firstHundredMediaIds = array_slice($mediaIds, 0, 100); try { $mediaItems = $this->mediaService->getMultipleByIds($firstHundredMediaIds, $this->websiteId); foreach ($mediaItems as $mediaItem) { if (isset($this->cache[$mediaItem->getId()])) { continue; } $infoStorageItem = $this->createMediaInfoStorageItem($mediaItem); $this->cache[$mediaItem->getId()] = $infoStorageItem; } } catch (\Exception $doNothing) { } }
/** * @test * @group library */ public function deleteShouldDeleteExpectedMediasWhenNotReferencedByPageModulOrTemplate() { $deletableIds = array('MDB-0991d0ec-cb0f-4961-92bd-765d4aa581a3-MDB', 'MDB-12824b9d-426d-4998-af19-959c76d46aaa-MDB', 'MDB-43789100-f48a-4b52-afaa-912505d548ff-MDB'); $siteId = 'SITE-ra10e89c-22af-46cd-a651-fc42dc78fe50-SITE'; $this->service->delete($deletableIds, $siteId); }
/** * @test * @group library * @dataProvider nonAllowedColumnsProvider * @param string $dataClassName */ public function getShouldThrowNoExceptionForNonAllowedColumns($column) { $this->service->getByWebsiteIdAndFilter($this->websiteId, array('sort' => $column)); }