/** * @test * @group library */ public function copyMediaShouldKeepSourceMediaIds() { $sourceWebsiteId = 'SITE-mc10e89c-2rtf-46cd-a651-fc42dc7812so-SITE'; $newWebsiteId = 'SITE-mc1fe89c-2rtf-46cd-a651-fc42dc7f75de-SITE'; $this->service->copyMediaToNewWebsite($sourceWebsiteId, $newWebsiteId); $sourceMedia = $this->service->getByWebsiteIdAndFilter($sourceWebsiteId); $sourceMediaIds = array(); $assertionMessage = 'No expected source media available'; $this->assertTrue(count($sourceMedia) > 0, $assertionMessage); foreach ($sourceMedia as $media) { $sourceMediaIds[] = $media->getId(); } $copyMedia = $this->service->getByWebsiteIdAndFilter($newWebsiteId); $copyMediaIds = array(); $assertionMessage = 'No expected copy media available'; $this->assertTrue(count($copyMedia) > 0, $assertionMessage); foreach ($copyMedia as $media) { $copyMediaIds[] = $media->getId(); } sort($sourceMediaIds); sort($copyMediaIds); $assertionMessage = 'Media ids of source and copied media are not identical'; $this->assertSame($sourceMediaIds, $copyMediaIds, $assertionMessage); $config = Registry::getConfig(); $copiedMediaDirectory = $config->media->files->directory . DIRECTORY_SEPARATOR . $newWebsiteId; DirectoryHelper::removeRecursiv($copiedMediaDirectory, $config->media->files->directory); }
/** * @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; } } }
/** * @param string $albumId * * @return array */ public function getMediaIdsByAlbumIds($albumId) { $mediaItems = $this->mediaService->getByWebsiteIdAndFilter($this->websiteId, array('albumid' => $albumId), true); $mediaIds = array(); foreach ($mediaItems as $mediaItem) { $mediaIds[] = $mediaItem->getId(); } return $mediaIds; }
/** * @test * @group library * @dataProvider nonAllowedColumnsProvider * @param string $dataClassName */ public function getShouldThrowNoExceptionForNonAllowedColumns($column) { $this->service->getByWebsiteIdAndFilter($this->websiteId, array('sort' => $column)); }