diff --git a/.travis.yml b/.travis.yml
index 639c6cee77..29c095710f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -61,5 +61,7 @@ script:
bin/setup system:install --email=test@phraseanet.com --password=test --db-user=root --db-template=fr --db-password= --databox=db_test --appbox=ab_test --server-name=http://127.0.0.1 -y;
fi"
- php hudson/cleanupSubdefs.php
+#sqlite db generation should occur once Phraseanet is up to date :
+ - bin/developer phraseanet:regenerate-sqlite
- grunt test
- bin/phpunit
diff --git a/lib/Alchemy/Phrasea/Application.php b/lib/Alchemy/Phrasea/Application.php
index 9b57f7cf66..7d1b188e3c 100644
--- a/lib/Alchemy/Phrasea/Application.php
+++ b/lib/Alchemy/Phrasea/Application.php
@@ -639,7 +639,7 @@ class Application extends SilexApplication
}));
$twig->addFilter(new \Twig_SimpleFilter('thesaurus', function (\Twig_Environment $twig, $value) {
if (!$value instanceof \ThesaurusValue) {
- return twig_escape_filter($twig, str_replace(array('[[em]]', '[[/em]]'), array('', ''), $value));
+ return twig_escape_filter($twig, str_replace(['[[em]]', '[[/em]]'], ['', ''], $value));
}
return "getField()->get_databox()->get_sbas_id() . "','"
@@ -647,9 +647,9 @@ class Application extends SilexApplication
. "', '"
. str_replace("'", "\\'", $value->getField()->get_name())
. "');return(false);\">"
- . twig_escape_filter($twig, str_replace(array('[[em]]', '[[/em]]'), array('', ''), $value->getValue()))
+ . twig_escape_filter($twig, str_replace(['[[em]]', '[[/em]]'], ['', ''], $value->getValue()))
. "";
- }, array('needs_environment' => true, 'is_safe' => array('html'))));
+ }, ['needs_environment' => true, 'is_safe' => ['html']]));
$twig->addFilter(new \Twig_SimpleFilter('escapeDoubleQuote', function ($value) {
return str_replace('"', '\"', $value);
diff --git a/lib/Alchemy/Phrasea/Command/Developer/RegenerateSqliteDb.php b/lib/Alchemy/Phrasea/Command/Developer/RegenerateSqliteDb.php
index c2b6f8377c..245bae6340 100644
--- a/lib/Alchemy/Phrasea/Command/Developer/RegenerateSqliteDb.php
+++ b/lib/Alchemy/Phrasea/Command/Developer/RegenerateSqliteDb.php
@@ -11,12 +11,35 @@
namespace Alchemy\Phrasea\Command\Developer;
+use Alchemy\Phrasea\Border\Manager;
use Alchemy\Phrasea\Command\Command;
+use Alchemy\Phrasea\Model\Entities\AuthFailure;
+use Alchemy\Phrasea\Model\Entities\AggregateToken;
+use Alchemy\Phrasea\Model\Entities\Basket;
+use Alchemy\Phrasea\Model\Entities\BasketElement;
+use Alchemy\Phrasea\Model\Entities\Feed;
+use Alchemy\Phrasea\Model\Entities\FeedEntry;
+use Alchemy\Phrasea\Model\Entities\FeedItem;
+use Alchemy\Phrasea\Model\Entities\FeedPublisher;
+use Alchemy\Phrasea\Model\Entities\FeedToken;
+use Alchemy\Phrasea\Model\Entities\LazaretSession;
+use Alchemy\Phrasea\Model\Entities\Session;
+use Alchemy\Phrasea\Model\Entities\Task;
+use Alchemy\Phrasea\Model\Entities\User;
+use Alchemy\Phrasea\Model\Entities\ValidationData;
+use Alchemy\Phrasea\Model\Entities\ValidationSession;
+use Alchemy\Phrasea\Model\Entities\ValidationParticipant;
+use Alchemy\Phrasea\Model\Entities\UsrListOwner;
+use Alchemy\Phrasea\Model\Entities\UsrList;
+use Alchemy\Phrasea\Model\Entities\UsrListEntry;
+use Alchemy\Phrasea\Model\Entities\StoryWZ;
use Alchemy\Phrasea\Core\Provider\ORMServiceProvider;
+use Doctrine\ORM\EntityManager;
use Doctrine\ORM\Tools\SchemaTool;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Filesystem\Filesystem;
+use Alchemy\Phrasea\Border\File;
class RegenerateSqliteDb extends Command
{
@@ -33,6 +56,7 @@ class RegenerateSqliteDb extends Command
$source = __DIR__ . '/../../../../../tests/db-ref.sqlite';
$target = __DIR__ . '/../../../../../tests/db-ref.sqlite.bkp';
+ $json = __DIR__ . '/../../../../../tests/fixtures.json';
$renamed = false;
if (is_file($source)) {
@@ -50,15 +74,534 @@ class RegenerateSqliteDb extends Command
$metadatas = $this->container['EM']->getMetadataFactory()->getAllMetadata();
$schemaTool = new SchemaTool($this->container['EM']);
$schemaTool->createSchema($metadatas);
+
+ $fixtures = [];
+
+ $DI = new \Pimple();
+
+ $this->generateUsers($this->container['EM'], $DI);
+ $this->generateCollection($DI);
+ $this->generateRecord($DI);
+ $this->insertOneStoryInWz($this->container['EM'], $DI);
+ $this->insertUsrLists($this->container['EM'], $DI);
+ $this->insertOnePrivateFeed($this->container['EM'], $DI);
+ $this->insertOnePublicFeed($this->container['EM'], $DI);
+ $this->insertOneExtraFeed($this->container['EM'], $DI);
+ $this->insertOneAggregateToken($this->container['EM'], $DI);
+ $this->insertLazaretFiles($this->container['EM'], $DI);
+ $this->insertAuthFailures($this->container['EM'], $DI);
+
+ $fixtures['user']['test_phpunit'] = $DI['user']->get_id();
+ $fixtures['user']['test_phpunit_not_admin'] = $DI['user_notAdmin']->get_id();
+ $fixtures['user']['test_phpunit_alt1'] = $DI['user_alt1']->get_id();
+ $fixtures['user']['test_phpunit_alt2'] = $DI['user_alt2']->get_id();
+
+ $fixtures['databox']['records'] = $DI['databox']->get_sbas_id();
+ $fixtures['collection']['coll'] = $DI['coll']->get_base_id();
+ $fixtures['collection']['coll_no_access'] = $DI['coll_no_access']->get_base_id();
+ $fixtures['collection']['coll_no_status'] = $DI['coll_no_status']->get_base_id();
+
+ $fixtures['record']['record_story_1'] = $DI['record_story_1']->get_record_id();
+ $fixtures['record']['record_story_2'] = $DI['record_story_2']->get_record_id();
+
+ $fixtures['record']['record_1'] = $DI['record_1']->get_record_id();
+ $fixtures['record']['record_2'] = $DI['record_2']->get_record_id();
+ $fixtures['record']['record_3'] = $DI['record_3']->get_record_id();
+ $fixtures['record']['record_4'] = $DI['record_4']->get_record_id();
+ $fixtures['record']['record_5'] = $DI['record_5']->get_record_id();
+ $fixtures['record']['record_6'] = $DI['record_6']->get_record_id();
+ $fixtures['record']['record_7'] = $DI['record_7']->get_record_id();
+
+ $fixtures['lazaret']['lazaret_1'] = $DI['lazaret_1']->getId();
+
+ $fixtures['user']['user_1'] = $DI['user_1']->getId();
+ $fixtures['user']['user_2'] = $DI['user_1']->getId();
+ $fixtures['user']['user_3'] = $DI['user_1']->getId();
+ $fixtures['user']['user_1_deleted'] = $DI['user_1_deleted']->getId();
+ $fixtures['user']['user_2_deleted'] = $DI['user_2_deleted']->getId();
+ $fixtures['user']['user_3_deleted'] = $DI['user_3_deleted']->getId();
+ $fixtures['user']['user_template'] = $DI['user_template']->getId();
+
+ $this->insertTwoTasks($this->container['EM']);
+ $this->insertTwoBasket($this->container['EM'], $DI);
+
+ $this->container['EM']->flush();
} catch (\Exception $e) {
+ $output->writeln("".$e->getMessage()."");
if ($renamed) {
+ if (is_file($source)) {
+ unlink($source);
+ }
$fs->rename($target, $source);
}
throw $e;
}
$fs->remove($target);
+ $fs->dumpFile($json, json_encode($fixtures, defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 0));
return 0;
}
+
+ private function insertAuthFailures(EntityManager $em, \Pimple $DI)
+ {
+ $ip = '192.168.16.178';
+ $username = 'romainneutron';
+
+ for ($i = 0; $i < 10; $i++) {
+ $failure = new AuthFailure();
+ $failure->setIp($ip);
+ $failure->setUsername($username);
+ $failure->setLocked(false);
+ $failure->setCreated(new \DateTime('-3 months'));
+ $em->persist($failure);
+ }
+ for ($i = 0; $i < 2; $i++) {
+ $failure = new AuthFailure();
+ $failure->setIp($ip);
+ $failure->setUsername($username);
+ $failure->setLocked(false);
+ $failure->setCreated(new \DateTime('-1 months'));
+ $em->persist($failure);
+ }
+ }
+
+ private function insertLazaretFiles(EntityManager $em, \Pimple $DI)
+ {
+ $session = new LazaretSession();
+ $em->persist($session);
+ $em->flush();
+
+ $file = File::buildFromPathfile($this->container['root.path'] . '/tests/files/cestlafete.jpg', $DI['coll'], $this->container);
+
+ $callback = function ($element) use ($DI) {
+ $DI['lazaret_1'] = $element;
+ };
+
+ $this->container['border-manager']->process($session, $file, $callback, Manager::FORCE_LAZARET);
+ }
+
+ private function generateUsers(EntityManager $em, \Pimple $DI)
+ {
+ $DI['user'] = $this->getUser();
+ $DI['user_alt1'] = $this->getUserAlt1();
+ $DI['user_alt2'] = $this->getUserAlt2();
+ $DI['user_notAdmin'] = $this->getUserNotAdmin();
+
+ $user1 = $this->insertOneUser('user1');
+ $user2 = $this->insertOneUser('user2', 'user2@phraseanet.com');
+ $user3 = $this->insertOneUser('user3', null, true);
+
+ $user1Deleted = $this->insertOneUser('user1-deleted');
+ $user1Deleted->setDeleted(true);
+ $user2Deleted = $this->insertOneUser('user2-deleted', 'user2-deleted@phraseanet.com');
+ $user2Deleted->setDeleted(true);
+ $user3Deleted = $this->insertOneUser('user3-deleted', null, true);
+ $user3Deleted->setDeleted(true);
+
+ $template = $this->insertOneUser('template', null, true);
+ $template->setModelOf($user1);
+
+ $DI['user_1'] = $user1;
+ $DI['user_2'] = $user2;
+ $DI['user_3'] = $user3;
+ $DI['user_1_deleted'] = $user1Deleted;
+ $DI['user_2_deleted'] = $user2Deleted;
+ $DI['user_3_deleted'] = $user3Deleted;
+ $DI['user_template'] = $template;
+
+ $em->persist($user1);
+ $em->persist($user2);
+ $em->persist($user3);
+ $em->persist($user1Deleted);
+ $em->persist($user2Deleted);
+ $em->persist($user3Deleted);
+ $em->persist($template);
+
+ $em->flush();
+ }
+
+ protected function insertOneUser($login, $email = null, $admin = false)
+ {
+ return $this->container['manipulator.user']->createUser($login, uniqid('pass'), $email, $admin);
+ }
+
+ private function generateCollection(\Pimple $DI)
+ {
+ $coll = $collection_no_acces = $collection_no_acces_by_status = $db = null;
+
+ foreach ($this->container['phraseanet.appbox']->get_databoxes() as $databox) {
+ foreach ($databox->get_collections() as $collection) {
+ if ($collection_no_acces instanceof \collection && !$collection_no_acces_by_status) {
+ $collection_no_acces_by_status = $collection;
+ }
+ if ($coll instanceof \collection && !$collection_no_acces) {
+ $collection_no_acces = $collection;
+ }
+ if (!$coll) {
+ $coll = $collection;
+ }
+ if ($coll instanceof \collection
+ && $collection_no_acces instanceof \collection
+ && $collection_no_acces_by_status instanceof \collection) {
+ break 2;
+ }
+ }
+ }
+
+ $DI['databox'] = $coll->get_databox();
+ $DI['coll'] = $coll;
+
+ if (!$collection_no_acces instanceof collection) {
+ $collection_no_acces = \collection::create($this->container, $databox, $this->container['phraseanet.appbox'], 'BIBOO', $DI['user']);
+ }
+
+ $DI['coll_no_access'] = $collection_no_acces;
+
+ if (!$collection_no_acces_by_status instanceof collection) {
+ $collection_no_acces_by_status = \collection::create($this->container, $databox, $this->container['phraseanet.appbox'], 'BIBOONOACCESBYSTATUS', $DI['user']);
+ }
+
+ $DI['coll_no_status'] = $collection_no_acces_by_status;
+ }
+
+ private function generateRecord(\Pimple $DI)
+ {
+ foreach (range(1, 7) as $i) {
+ $file = new File($this->container, $this->container['mediavorus']->guess(__DIR__ . '/../../../../../tests/files/test001.jpg'), $DI['coll']);
+ $record = \record_adapter::createFromFile($file, $this->container);
+ $record->generate_subdefs($record->get_databox(), $this->container);
+ $DI['record_' . $i] = $record;
+ }
+
+ $media = $this->container['mediavorus']->guess($this->container['root.path'] . '/tests/files/cestlafete.jpg');
+
+ foreach (range(1, 2) as $i) {
+ $story = \record_adapter::createStory($this->container, $DI['coll']);
+ $story->substitute_subdef('preview', $media, $this->container);
+ $story->substitute_subdef('thumbnail', $media, $this->container);
+ $DI['record_story_' . $i] = $story;
+ }
+ }
+
+ private function insertTwoTasks(EntityManager $em)
+ {
+ $task1 = new Task();
+ $task1
+ ->setName('task 1')
+ ->setJobId('Null');
+
+ $task2 = new Task();
+ $task2
+ ->setName('task 2')
+ ->setJobId('Null');
+
+ $em->persist($task1);
+ $em->persist($task2);
+ }
+
+ private function getUser()
+ {
+ if (false === $usr_id = \User_Adapter::get_usr_id_from_login($this->container, 'test_phpunit')) {
+ return \User_Adapter::create($this->container, 'test_phpunit', \random::generatePassword(), 'noone@example.com', false);
+ }
+
+ return \User_Adapter::getInstance($usr_id, $this->container);
+ }
+
+ private function getUserAlt1()
+ {
+ if (false === $usr_id = \User_Adapter::get_usr_id_from_login($this->container, 'test_phpunit_alt1')) {
+ return \User_Adapter::create($this->container, 'test_phpunit_alt1', \random::generatePassword(), 'noonealt1@example.com', false);
+ }
+
+ return \User_Adapter::getInstance($usr_id, $this->container);
+ }
+
+ private function getUserAlt2()
+ {
+ if (false === $usr_id = \User_Adapter::get_usr_id_from_login($this->container, 'test_phpunit_alt2')) {
+ return \User_Adapter::create($this->container, 'test_phpunit_alt2', \random::generatePassword(), 'noonealt2@example.com', false);
+ }
+
+ return \User_Adapter::getInstance($usr_id, $this->container);
+ }
+
+ public function getUserNotAdmin()
+ {
+ if (false === $usr_id = \User_Adapter::get_usr_id_from_login($this->container, 'test_phpunit_not_admin')) {
+ return \User_Adapter::create($this->container, 'test_phpunit_not_admin', \random::generatePassword(), 'noone_not_admin@example.com', false);
+ }
+
+ return \User_Adapter::getInstance($usr_id, $this->container);
+ }
+
+ private function insertTwoBasket(EntityManager $em, \Pimple $DI)
+ {
+ $basket1 = new Basket();
+ $basket1->setOwner($this->getUser());
+ $basket1->setName('test');
+ $basket1->setDescription('description test');
+
+ $element = new BasketElement();
+ $element->setRecord($DI['record_1']);
+ $basket1->addElement($element);
+ $element->setBasket($basket1);
+
+ $basket2 = new Basket();
+ $basket2->setOwner($this->getUser());
+ $basket2->setName('test');
+ $basket2->setDescription('description test');
+
+ $basket3 = new Basket();
+ $basket3->setOwner($this->getUserAlt1());
+ $basket3->setName('test');
+ $basket3->setDescription('description test');
+
+ $em->persist($basket1);
+ $em->persist($element);
+ $em->persist($basket2);
+ $em->persist($basket3);
+
+ $basket4 = new Basket();
+ $basket4->setName('test');
+ $basket4->setDescription('description');
+ $basket4->setOwner($this->getUser());
+
+ foreach ([$DI['record_1'], $DI['record_2']] as $record) {
+ $basketElement = new BasketElement();
+ $basketElement->setRecord($record);
+ $basketElement->setBasket($basket4);
+ $basket4->addElement($basketElement);
+ $em->persist($basketElement);
+ }
+
+ $validationSession = new ValidationSession();
+ $validationSession->setBasket($basket4);
+ $basket4->setValidation($validationSession);
+ $expires = new \DateTime();
+ $expires->modify('+1 week');
+ $validationSession->setExpires($expires);
+ $validationSession->setInitiator($this->getUser());
+
+ foreach ([$this->getUser(), $DI['user_alt1'], $DI['user_alt2']] as $user) {
+ $validationParticipant = new ValidationParticipant();
+ $validationParticipant->setUser($user);
+ $validationParticipant->setSession($validationSession);
+ $validationParticipant->setCanAgree(true);
+ $validationSession->addParticipant($validationParticipant);
+ foreach ($basket4->getElements() as $basketElement) {
+ $data = new ValidationData();
+ $data->setParticipant($validationParticipant);
+ $validationParticipant->addData($data);
+ $data->setBasketElement($basketElement);
+ $em->persist($data);
+ }
+ $em->persist($validationParticipant);
+ }
+
+ $em->persist($basket4);
+ }
+
+ private function insertOneStoryInWz(EntityManager $em, \Pimple $DI)
+ {
+ $story = new StoryWZ();
+
+ $story->setRecord($DI['record_story_1']);
+ $story->setUser($DI['user']);
+
+ $em->persist($story);
+ }
+
+ private function insertUsrLists(EntityManager $em, \Pimple $DI)
+ {
+ $owner1 = new UsrListOwner();
+ $owner1->setRole(UsrListOwner::ROLE_ADMIN);
+ $owner1->setUser($DI['user']);
+
+ $owner2 = new UsrListOwner();
+ $owner2->setRole(UsrListOwner::ROLE_ADMIN);
+ $owner2->setUser($DI['user_alt1']);
+
+ $list1 = new UsrList();
+ $list1->setName('new list');
+ $list1->addOwner($owner1);
+ $owner1->setList($list1);
+
+ $entry1 = new UsrListEntry();
+ $entry1->setUser($DI['user']);
+ $entry1->setList($list1);
+ $list1->addEntrie($entry1);
+
+ $entry2 = new UsrListEntry();
+ $entry2->setUser($DI['user_alt1']);
+ $entry2->setList($list1);
+ $list1->addEntrie($entry2);
+
+ $list2 = new UsrList();
+ $list2->setName('new list');
+ $list2->addOwner($owner2);
+ $owner2->setList($list2);
+
+ $entry3 = new UsrListEntry();
+ $entry3->setUser($DI['user_alt1']);
+ $entry3->setList($list2);
+ $list2->addEntrie($entry3);
+
+ $entry4 = new UsrListEntry();
+ $entry4->setUser($DI['user_alt2']);
+ $entry4->setList($list2);
+ $list2->addEntrie($entry4);
+
+ $em->persist($owner1);
+ $em->persist($owner2);
+ $em->persist($list1);
+ $em->persist($list2);
+ $em->persist($entry1);
+ $em->persist($entry2);
+ $em->persist($entry3);
+ $em->persist($entry4);
+ }
+
+ private function insertOnePublicFeed(EntityManager $em, \Pimple $DI)
+ {
+ $feed = new Feed();
+ $publisher = new FeedPublisher();
+
+ $user = $DI['user'];
+
+ $publisher->setUsrId($user->get_id());
+ $publisher->setIsOwner(true);
+ $publisher->setFeed($feed);
+
+ $feed->addPublisher($publisher);
+ $feed->setTitle("Feed test, Public!");
+ $feed->setIsPublic(true);
+ $feed->setSubtitle("description");
+
+ $em->persist($feed);
+ $em->persist($publisher);
+
+ $this->insertOneFeedEntry($em, $DI, $feed, true);
+ $this->insertOneFeedToken($em, $DI, $feed);
+ }
+
+ private function insertOnePrivateFeed(EntityManager $em, \Pimple $DI)
+ {
+ $feed = new Feed();
+ $publisher = new FeedPublisher();
+
+ $user = $DI['user'];
+
+ $publisher->setUsrId($user->get_id());
+ $publisher->setIsOwner(true);
+ $publisher->setFeed($feed);
+
+ $feed->addPublisher($publisher);
+ $feed->setTitle("Feed test, YOLO!");
+ $feed->setIsPublic(false);
+ $feed->setSubtitle("description");
+
+ $em->persist($feed);
+ $em->persist($publisher);
+
+ $this->insertOneFeedEntry($em, $DI, $feed, false);
+ $this->insertOneFeedToken($em, $DI, $feed);
+ }
+
+ private function insertOneExtraFeed(EntityManager $em, \Pimple $DI)
+ {
+ $feed = new Feed();
+ $publisher = new FeedPublisher();
+
+ $user = $DI['user_alt1'];
+
+ $publisher->setUsrId($user->get_id());
+ $publisher->setIsOwner(true);
+ $publisher->setFeed($feed);
+
+ $feed->addPublisher($publisher);
+ $feed->setTitle("Feed test, Private for user_alt1!");
+ $feed->setIsPublic(false);
+ $feed->setSubtitle("description");
+
+ $em->persist($feed);
+ $em->persist($publisher);
+
+ $this->insertOneFeedEntry($em, $DI, $feed, true);
+ $this->insertOneFeedToken($em, $DI, $feed);
+ }
+
+ private function insertOneFeedEntry(EntityManager $em, \Pimple $DI, Feed $feed, $public)
+ {
+ $entry = new FeedEntry();
+ $entry->setFeed($feed);
+ $entry->setTitle("test");
+ $entry->setSubtitle("description");
+ $entry->setAuthorName('user');
+ $entry->setAuthorEmail('user@email.com');
+
+ $publisher = $feed->getPublisher($DI['user']);
+
+ if ($publisher !== null) {
+ $entry->setPublisher($publisher);
+ }
+
+ $feed->addEntry($entry);
+
+ $em->persist($entry);
+ $em->persist($feed);
+
+ $this->insertOneFeedItem($em, $DI, $entry, $public);
+ }
+
+ private function insertOneFeedToken(EntityManager $em, \Pimple $DI, Feed $feed)
+ {
+ $token = new FeedToken();
+ $token->setValue($this->container['tokens']->generatePassword(12));
+ $token->setFeed($feed);
+ $token->setUsrId($DI['user']->get_id());
+
+ $feed->addToken($token);
+
+ $em->persist($token);
+ $em->persist($feed);
+ }
+
+ private function insertOneAggregateToken(EntityManager $em, \Pimple $DI)
+ {
+ $user = $DI['user'];
+
+ $token = new AggregateToken();
+ $token->setValue($this->container['tokens']->generatePassword(12));
+ $token->setUsrId($user->get_id());
+
+ $em->persist($token);
+ }
+
+ private function insertOneFeedItem(EntityManager $em, \Pimple $DI, FeedEntry $entry, $public)
+ {
+ if ($public) {
+ $start = 5;
+ } else {
+ $start = 1;
+ }
+ $limit = ($start + 3);
+
+ for ($start; $start < $limit; $start++) {
+ $item = new FeedItem();
+ $item->setEntry($entry);
+
+ $actual = $DI['record_'.($start)];
+
+ $item->setRecordId($actual->get_record_id());
+ $item->setSbasId($actual->get_sbas_id());
+ $item->setEntry($entry);
+ $entry->addItem($item);
+
+ $em->persist($item);
+ }
+
+ $em->persist($entry);
+ }
}
diff --git a/lib/Alchemy/Phrasea/Controller/Root/RSSFeeds.php b/lib/Alchemy/Phrasea/Controller/Root/RSSFeeds.php
index f82ed19285..bada024c18 100644
--- a/lib/Alchemy/Phrasea/Controller/Root/RSSFeeds.php
+++ b/lib/Alchemy/Phrasea/Controller/Root/RSSFeeds.php
@@ -40,7 +40,7 @@ class RSSFeeds implements ControllerProviderInterface
$page = (int) $request->query->get('page');
$page = $page < 1 ? 1 : $page;
- return $app['feed.formatter-strategy']($format)->createResponse($feed, $page);
+ return $app['feed.formatter-strategy']($format)->createResponse($app, $feed, $page);
})
->bind('feed_public')
->assert('id', '\d+')
@@ -55,7 +55,7 @@ class RSSFeeds implements ControllerProviderInterface
$page = $page < 1 ? 1 : $page;
return $app['feed.formatter-strategy']($format)
- ->createResponse($token->getFeed(), $page, \User_Adapter::getInstance($token->getUsrId(), $app));
+ ->createResponse($app, $token->getFeed(), $page, \User_Adapter::getInstance($token->getUsrId(), $app));
})
->bind('feed_user')
->assert('id', '\d+')
@@ -63,7 +63,6 @@ class RSSFeeds implements ControllerProviderInterface
$controllers->get('/userfeed/aggregated/{token}/{format}/', function (Application $app, $token, $format) {
$token = $app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\AggregateToken')->findOneBy(["value" => $token]);
-
$user = \User_Adapter::getInstance($token->getUsrId(), $app);
$feeds = $app['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Feed')->getAllForUser($app['acl']->get($user));
@@ -75,7 +74,7 @@ class RSSFeeds implements ControllerProviderInterface
$page = (int) $request->query->get('page');
$page = $page < 1 ? 1 : $page;
- return $app['feed.formatter-strategy']($format)->createResponse($aggregate, $page, $user);
+ return $app['feed.formatter-strategy']($format)->createResponse($app, $aggregate, $page, $user);
})
->bind('feed_user_aggregated')
->assert('format', '(rss|atom)');
@@ -87,7 +86,7 @@ class RSSFeeds implements ControllerProviderInterface
$page = (int) $request->query->get('page');
$page = $page < 1 ? 1 : $page;
- return $app['feed.formatter-strategy']($format)->createResponse($feed, $page);
+ return $app['feed.formatter-strategy']($format)->createResponse($app, $feed, $page);
})
->bind('feed_public_aggregated')
->assert('format', '(rss|atom)');
@@ -99,7 +98,7 @@ class RSSFeeds implements ControllerProviderInterface
$page = (int) $request->query->get('page');
$page = $page < 1 ? 1 : $page;
- return $app['feed.formatter-strategy']('cooliris')->createResponse($feed, $page, null, 'Phraseanet', $app);
+ return $app['feed.formatter-strategy']('cooliris')->createResponse($app, $feed, $page, null, 'Phraseanet', $app);
})
->bind('feed_public_cooliris');
diff --git a/lib/Alchemy/Phrasea/Feed/Formatter/AtomFormatter.php b/lib/Alchemy/Phrasea/Feed/Formatter/AtomFormatter.php
index 759cd44e02..61d6dec6c8 100644
--- a/lib/Alchemy/Phrasea/Feed/Formatter/AtomFormatter.php
+++ b/lib/Alchemy/Phrasea/Feed/Formatter/AtomFormatter.php
@@ -12,6 +12,7 @@
namespace Alchemy\Phrasea\Feed\Formatter;
use Alchemy\Phrasea\Application;
+use Alchemy\Phrasea\Model\Entities\FeedEntry;
use Alchemy\Phrasea\Feed\FeedInterface;
use Alchemy\Phrasea\Feed\Link\FeedLink;
use Alchemy\Phrasea\Feed\Link\LinkGeneratorCollection;
@@ -33,7 +34,7 @@ class AtomFormatter extends FeedFormatterAbstract implements FeedFormatterInterf
/**
* {@inheritdoc}
*/
- public function createResponse(FeedInterface $feed, $page, \User_Adapter $user = null, $generator = 'Phraseanet', Application $app = null)
+ public function createResponse(Application $app, FeedInterface $feed, $page, \User_Adapter $user = null, $generator = 'Phraseanet')
{
$content = $this->format($feed, $page, $user, $generator, $app);
$response = new Response($content, 200, ['Content-Type' => 'application/atom+xml']);
@@ -125,13 +126,13 @@ class AtomFormatter extends FeedFormatterAbstract implements FeedFormatterInterf
}
foreach ($feed->getEntries() as $item) {
- $this->addItem($document, $root, $item, $feedlink);
+ $this->addItem($app, $document, $root, $item, $feedlink);
}
return $document->saveXML();
}
- protected function addItem(DOMDocument $document, DOMNode $feed, FeedEntry $entry, FeedLink $link)
+ protected function addItem(Application $app, \DOMDocument $document, \DOMNode $feed, FeedEntry $entry, FeedLink $link)
{
$entry_node = $this->addTag($document, $feed, 'entry');
@@ -160,7 +161,7 @@ class AtomFormatter extends FeedFormatterAbstract implements FeedFormatterInterf
$this->addTag($document, $entry_node, 'content', $entry->getSubtitle());
foreach ($entry->getItems() as $content) {
- $this->addContent($document, $entry_node, $entry, $content);
+ $this->addContent($app, $document, $entry_node, $content);
}
return $entry_node;
diff --git a/lib/Alchemy/Phrasea/Feed/Formatter/CoolirisFormatter.php b/lib/Alchemy/Phrasea/Feed/Formatter/CoolirisFormatter.php
index 6dc48f7607..a649f64c4c 100644
--- a/lib/Alchemy/Phrasea/Feed/Formatter/CoolirisFormatter.php
+++ b/lib/Alchemy/Phrasea/Feed/Formatter/CoolirisFormatter.php
@@ -13,6 +13,8 @@ namespace Alchemy\Phrasea\Feed\Formatter;
use Alchemy\Phrasea\Application;
use Alchemy\Phrasea\Feed\FeedInterface;
+use Alchemy\Phrasea\Model\Entities\FeedEntry;
+use Alchemy\Phrasea\Model\Entities\FeedItem;
use Alchemy\Phrasea\Feed\Link\LinkGeneratorCollection;
use Alchemy\Phrasea\Feed\RSS\FeedRSSImage;
use Symfony\Component\HttpFoundation\Response;
@@ -34,7 +36,7 @@ class CoolirisFormatter extends FeedFormatterAbstract implements FeedFormatterIn
/**
* {@inheritdoc}
*/
- public function createResponse(FeedInterface $feed, $page, \User_Adapter $user = null, $generator = 'Phraseanet', Application $app = null)
+ public function createResponse(Application $app, FeedInterface $feed, $page, \User_Adapter $user = null, $generator = 'Phraseanet')
{
$content = $this->format($feed, $page, $user, $generator, $app);
$response = new Response($content, 200, ['Content-Type' => 'application/rss+xml']);
@@ -174,8 +176,8 @@ class CoolirisFormatter extends FeedFormatterAbstract implements FeedFormatterIn
protected function addItem(Application $app, \DOMDocument $document, \DOMNode $feed, FeedEntry $entry)
{
- foreach ($entry->get_content() as $content) {
- $this->addContent($app, $document, $feed, $entry, $content);
+ foreach ($entry->getItems() as $content) {
+ $this->addContent($app, $document, $feed, $content);
}
}
@@ -201,7 +203,7 @@ class CoolirisFormatter extends FeedFormatterAbstract implements FeedFormatterIn
$caption = $content->getRecord($app)->get_caption();
- $title_field = $caption->get_dc_field(databox_Field_DCESAbstract::Title);
+ $title_field = $caption->get_dc_field(\databox_Field_DCESAbstract::Title);
if (null !== $title_field) {
$str_title = $title_field->get_serialized_values(' ');
} else {
@@ -211,7 +213,7 @@ class CoolirisFormatter extends FeedFormatterAbstract implements FeedFormatterIn
//attach tile node to item node
$title = $this->addTag($document, $item, 'title', $str_title);
- $desc_field = $caption->get_dc_field(databox_Field_DCESAbstract::Description);
+ $desc_field = $caption->get_dc_field(\databox_Field_DCESAbstract::Description);
if (null !== $desc_field) {
$str_desc = $desc_field->get_serialized_values(' ');
} else {
diff --git a/lib/Alchemy/Phrasea/Feed/Formatter/FeedFormatterAbstract.php b/lib/Alchemy/Phrasea/Feed/Formatter/FeedFormatterAbstract.php
index 8a9379f595..cdc7db37cd 100644
--- a/lib/Alchemy/Phrasea/Feed/Formatter/FeedFormatterAbstract.php
+++ b/lib/Alchemy/Phrasea/Feed/Formatter/FeedFormatterAbstract.php
@@ -12,6 +12,7 @@
namespace Alchemy\Phrasea\Feed\Formatter;
use Alchemy\Phrasea\Application;
+use Alchemy\Phrasea\Model\Entities\FeedItem;
abstract class FeedFormatterAbstract
{
@@ -65,21 +66,21 @@ abstract class FeedFormatterAbstract
$caption = $content->getRecord($app)->get_caption();
- $title_field = $caption->get_dc_field(databox_Field_DCESAbstract::Title);
+ $title_field = $caption->get_dc_field(\databox_Field_DCESAbstract::Title);
if (null !== $title_field) {
$str_title = $title_field->get_serialized_values(' ');
$title = $this->addTag($document, $group, 'media:title', $str_title);
$title->setAttribute('type', 'plain');
}
- $desc_field = $caption->get_dc_field(databox_Field_DCESAbstract::Description);
+ $desc_field = $caption->get_dc_field(\databox_Field_DCESAbstract::Description);
if (null !== $desc_field) {
$str_desc = $desc_field->get_serialized_values(' ');
$desc = $this->addTag($document, $group, 'media:description', $str_desc);
$desc->setAttribute('type', 'plain');
}
- $contrib_field = $caption->get_dc_field(databox_Field_DCESAbstract::Contributor);
+ $contrib_field = $caption->get_dc_field(\databox_Field_DCESAbstract::Contributor);
if (null !== $contrib_field) {
$str_contrib = $contrib_field->get_serialized_values(' ');
$contrib = $this->addTag($document, $group, 'media:credit', $str_contrib);
@@ -87,7 +88,7 @@ abstract class FeedFormatterAbstract
$contrib->setAttribute('scheme', 'urn:ebu');
}
- $director_field = $caption->get_dc_field(databox_Field_DCESAbstract::Creator);
+ $director_field = $caption->get_dc_field(\databox_Field_DCESAbstract::Creator);
if (null !== $director_field) {
$str_director = $director_field->get_serialized_values(' ');
$director = $this->addTag($document, $group, 'media:credit', $str_director);
@@ -95,7 +96,7 @@ abstract class FeedFormatterAbstract
$director->setAttribute('scheme', 'urn:ebu');
}
- $publisher_field = $caption->get_dc_field(databox_Field_DCESAbstract::Publisher);
+ $publisher_field = $caption->get_dc_field(\databox_Field_DCESAbstract::Publisher);
if (null !== $publisher_field) {
$str_publisher = $publisher_field->get_serialized_values(' ');
$publisher = $this->addTag($document, $group, 'media:credit', $str_publisher);
@@ -103,19 +104,19 @@ abstract class FeedFormatterAbstract
$publisher->setAttribute('scheme', 'urn:ebu');
}
- $rights_field = $caption->get_dc_field(databox_Field_DCESAbstract::Rights);
+ $rights_field = $caption->get_dc_field(\databox_Field_DCESAbstract::Rights);
if (null !== $rights_field) {
$str_rights = $rights_field->get_serialized_values(' ');
$rights = $this->addTag($document, $group, 'media:copyright', $str_rights);
}
- $keyword_field = $caption->get_dc_field(databox_Field_DCESAbstract::Subject);
+ $keyword_field = $caption->get_dc_field(\databox_Field_DCESAbstract::Subject);
if (null !== $keyword_field) {
$str_keywords = $keyword_field->get_serialized_values(', ');
$keywords = $this->addTag($document, $group, 'media:keywords', $str_keywords);
}
- $duration = $content->get_record()->get_duration();
+ $duration = $content->getRecord($app)->get_duration();
if (null !== $preview_permalink) {
$preview = $this->addTag($document, $group, 'media:content');
diff --git a/lib/Alchemy/Phrasea/Feed/Formatter/FeedFormatterInterface.php b/lib/Alchemy/Phrasea/Feed/Formatter/FeedFormatterInterface.php
index 75f810a43a..73f8694a27 100644
--- a/lib/Alchemy/Phrasea/Feed/Formatter/FeedFormatterInterface.php
+++ b/lib/Alchemy/Phrasea/Feed/Formatter/FeedFormatterInterface.php
@@ -27,7 +27,7 @@ interface FeedFormatterInterface
*
* @return string
*/
- public function format(FeedInterface $feed, $page, \User_Adapter $user = null, $generator = 'Phraseanet', Application $app = null);
+ public function format(FeedInterface $feed, $page, \User_Adapter $user = null, $generator = 'Phraseanet', Application $app);
/**
* Returns an HTTP Response containing a string representation of the feed.
@@ -40,5 +40,5 @@ interface FeedFormatterInterface
*
* @return string
*/
- public function createResponse(FeedInterface $feed, $page, \User_Adapter $user = null, $generator = 'Phraseanet', Application $app = null);
+ public function createResponse(Application $app, FeedInterface $feed, $page, \User_Adapter $user = null, $generator = 'Phraseanet');
}
diff --git a/lib/Alchemy/Phrasea/Feed/Formatter/RssFormatter.php b/lib/Alchemy/Phrasea/Feed/Formatter/RssFormatter.php
index 381f4ffe93..649b274021 100644
--- a/lib/Alchemy/Phrasea/Feed/Formatter/RssFormatter.php
+++ b/lib/Alchemy/Phrasea/Feed/Formatter/RssFormatter.php
@@ -17,6 +17,8 @@ use Alchemy\Phrasea\Feed\Link\FeedLink;
use Alchemy\Phrasea\Feed\Link\LinkGeneratorCollection;
use Alchemy\Phrasea\Feed\RSS\FeedRSSImage;
use Symfony\Component\HttpFoundation\Response;
+use Alchemy\Phrasea\Model\Entities\FeedEntry;
+use Alchemy\Phrasea\Feed\Link\FeedLinkGenerator;
class RssFormatter extends FeedFormatterAbstract implements FeedFormatterInterface
{
@@ -35,7 +37,7 @@ class RssFormatter extends FeedFormatterAbstract implements FeedFormatterInterfa
/**
* {@inheritdoc}
*/
- public function createResponse(FeedInterface $feed, $page, \User_Adapter $user = null, $generator = 'Phraseanet', Application $app = null)
+ public function createResponse(Application $app, FeedInterface $feed, $page, \User_Adapter $user = null, $generator = 'Phraseanet')
{
$content = $this->format($feed, $page, $user, $generator, $app);
$response = new Response($content, 200, ['Content-Type' => 'application/rss+xml']);
@@ -165,17 +167,22 @@ class RssFormatter extends FeedFormatterAbstract implements FeedFormatterInterfa
}
foreach ($feed->getEntries() as $item) {
- $this->addItem($doc, $channel, $item);
+ $this->addItem($app, $doc, $channel, $item);
}
return $doc->saveXML();
}
- protected function addItem(\DOMDocument $document, \DOMNode $node, FeedEntry $entry)
+ protected function addItem(Application $app, \DOMDocument $document, \DOMNode $node, FeedEntry $entry)
{
$item = $this->addTag($document, $node, 'item');
+ $feed = $entry->getFeed();
- $link = $entry->getLink();
+ if ($feed->isPublic()) {
+ $link = $app['feed.link-generator-collection']->generatePublic($feed, FeedLinkGenerator::FORMAT_RSS);
+ } else {
+ $link = $app['feed.link-generator-collection']->generate($feed, $app['authentication']->getUser(), FeedLinkGenerator::FORMAT_RSS);
+ }
$this->addTag($document, $item, 'title', $entry->getTitle());
$this->addTag($document, $item, 'description', $entry->getSubtitle());
@@ -202,7 +209,7 @@ class RssFormatter extends FeedFormatterAbstract implements FeedFormatterInterfa
*
*/
foreach ($entry->getItems() as $content) {
- $this->addContent($document, $item, $entry, $content);
+ $this->addContent($app, $document, $item, $content);
}
return $item;
diff --git a/lib/Alchemy/Phrasea/Model/Entities/ValidationSession.php b/lib/Alchemy/Phrasea/Model/Entities/ValidationSession.php
index 07546f672c..739d76dd6c 100644
--- a/lib/Alchemy/Phrasea/Model/Entities/ValidationSession.php
+++ b/lib/Alchemy/Phrasea/Model/Entities/ValidationSession.php
@@ -290,6 +290,6 @@ class ValidationSession
}
}
- throw new NotFoundHttpException('Particpant not found' . $user->get_email());
+ throw new NotFoundHttpException('Participant not found ' . $user->get_email());
}
}
diff --git a/lib/classes/API/V1/adapter.php b/lib/classes/API/V1/adapter.php
index 611feff56f..dfe83c8e86 100644
--- a/lib/classes/API/V1/adapter.php
+++ b/lib/classes/API/V1/adapter.php
@@ -1035,7 +1035,9 @@ class API_V1_adapter extends API_V1_Abstract
$mimes = $request->get('mimes', []);
foreach ($record->get_embedable_medias($devices, $mimes) as $name => $media) {
- $ret[] = $this->list_embedable_media($media, $this->app['phraseanet.registry']);
+ if (null !== $embed = $this->list_embedable_media($media, $this->app['phraseanet.registry'])) {
+ $ret[] = $embed;
+ }
}
$result->set_datas(["embed" => $ret]);
@@ -1067,7 +1069,9 @@ class API_V1_adapter extends API_V1_Abstract
$mimes = $request->get('mimes', []);
foreach ($record->get_embedable_medias($devices, $mimes) as $name => $media) {
- $ret[] = $this->list_embedable_media($media, $this->app['phraseanet.registry']);
+ if (null !== $embed = $this->list_embedable_media($media, $this->app['phraseanet.registry'])) {
+ $ret[] = $embed;
+ }
}
$result->set_datas(["embed" => $ret]);
diff --git a/lib/classes/caption/Field/Value.php b/lib/classes/caption/Field/Value.php
index 0e10648c66..e2fd7c486b 100644
--- a/lib/classes/caption/Field/Value.php
+++ b/lib/classes/caption/Field/Value.php
@@ -347,7 +347,7 @@ class caption_Field_Value implements cache_cacheableInterface
}
// ---------------- new code ----------------------
- $cleanvalue = str_replace(array("[[em]]", "[[/em]]", "'"), array("", "", "'"), $value);
+ $cleanvalue = str_replace(["[[em]]", "[[/em]]", "'"], ["", "", "'"], $value);
list($term_noacc, $context_noacc) = $this->splitTermAndContext($cleanvalue);
$term_noacc = $this->app['unicode']->remove_indexer_chars($term_noacc);
@@ -379,7 +379,7 @@ class caption_Field_Value implements cache_cacheableInterface
}
}
if ($bestnode) {
- list($term, $context) = $this->splitTermAndContext(str_replace(array("[[em]]", "[[/em]]"), array("", ""), $value));
+ list($term, $context) = $this->splitTermAndContext(str_replace(["[[em]]", "[[/em]]"], ["", ""], $value));
$qjs = $term . ($context ? '['.$context.']' : '');
$value = new ThesaurusValue($bestnode->getAttribute('v'), $this->databox_field, $qjs);
diff --git a/lib/classes/collection.php b/lib/classes/collection.php
index e9f95cf6c9..2ab05aa707 100644
--- a/lib/classes/collection.php
+++ b/lib/classes/collection.php
@@ -562,7 +562,7 @@ class collection implements cache_cacheableInterface
$sql = "SELECT GREATEST(0, MAX(ord)) + 1 AS ord FROM bas WHERE sbas_id = :sbas_id";
$stmt = $conn->prepare($sql);
- $stmt->execute(array(':sbas_id' => $sbas_id));
+ $stmt->execute([':sbas_id' => $sbas_id]);
$ord = $stmt->fetch(\PDO::FETCH_ASSOC);
$stmt->closeCursor();
diff --git a/templates/web/admin/publications/list.html.twig b/templates/web/admin/publications/list.html.twig
index e9a1f760cc..c927185a7c 100644
--- a/templates/web/admin/publications/list.html.twig
+++ b/templates/web/admin/publications/list.html.twig
@@ -79,9 +79,9 @@
{{ app['date-formatter'].getDate(feed.getCreatedOn()) }}
- {% if feed.getCollection() != null %}
- {{ feed.getCollection().get_databox().get_label(app['locale']) }} /
- {{ feed.getCollection().get_name() }}
+ {% if feed.getCollection(app) != null %}
+ {{ feed.getCollection(app).get_databox().get_label(app['locale']) }} /
+ {{ feed.getCollection(app).get_name() }}
{% endif %}
|
diff --git a/templates/web/login/index.html.twig b/templates/web/login/index.html.twig
index 444e10bc80..4114b624a0 100644
--- a/templates/web/login/index.html.twig
+++ b/templates/web/login/index.html.twig
@@ -10,9 +10,9 @@
{% block header_rss %}
{% for feed in feeds %}
{% set link = app['feed.user-link-generator'].generatePublic(feed, 'rss') %}
-
+
{% set link = app['feed.user-link-generator'].generatePublic(feed, 'atom') %}
-
+
{% endfor %}
{% endblock %}
diff --git a/tests/Alchemy/Tests/Phrasea/ACL/BasketACLTest.php b/tests/Alchemy/Tests/Phrasea/ACL/BasketACLTest.php
index 410c845201..b10183ceeb 100644
--- a/tests/Alchemy/Tests/Phrasea/ACL/BasketACLTest.php
+++ b/tests/Alchemy/Tests/Phrasea/ACL/BasketACLTest.php
@@ -8,7 +8,7 @@ class BasketACLTest extends \PhraseanetTestCase
{
public function testOwnerIsOwner()
{
- $basket = $this->insertOneBasketEnv();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$acl = new BasketACL();
$this->assertTrue($acl->isOwner($basket, self::$DI['user']));
@@ -16,7 +16,7 @@ class BasketACLTest extends \PhraseanetTestCase
public function testParticipantIsNotAnOwner()
{
- $basket = $this->insertOneBasketEnv();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$acl = new BasketACL();
$this->assertFalse($acl->isOwner($basket, self::$DI['user_alt1']));
@@ -24,15 +24,14 @@ class BasketACLTest extends \PhraseanetTestCase
public function testUserIsNotTheOwner()
{
- $basket = $this->insertOneBasket();
-
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$acl = new BasketACL();
$this->assertFalse($acl->isOwner($basket, self::$DI['user_alt1']));
}
public function testOwnerHasAccessInValidationEnv()
{
- $basket = $this->insertOneBasketEnv();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$acl = new BasketACL();
$this->assertTrue($acl->hasAccess($basket, self::$DI['user']));
@@ -40,15 +39,14 @@ class BasketACLTest extends \PhraseanetTestCase
public function testOwnerHasAccess()
{
- $basket = $this->insertOneBasket();
-
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$acl = new BasketACL();
$this->assertTrue($acl->hasAccess($basket, self::$DI['user']));
}
public function testParticipantHasAccess()
{
- $basket = $this->insertOneBasketEnv();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$acl = new BasketACL();
$this->assertTrue($acl->hasAccess($basket, self::$DI['user_alt1']));
@@ -56,8 +54,7 @@ class BasketACLTest extends \PhraseanetTestCase
public function testUserHasNotAccess()
{
- $basket = $this->insertOneBasket();
-
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$acl = new BasketACL();
$this->assertFalse($acl->hasAccess($basket, self::$DI['user_alt1']));
}
diff --git a/tests/Alchemy/Tests/Phrasea/Application/ApiTestCase.php b/tests/Alchemy/Tests/Phrasea/Application/ApiTestCase.php
index d099a638da..b2d90abba9 100644
--- a/tests/Alchemy/Tests/Phrasea/Application/ApiTestCase.php
+++ b/tests/Alchemy/Tests/Phrasea/Application/ApiTestCase.php
@@ -4,7 +4,6 @@ namespace Alchemy\Tests\Phrasea\Application;
use Alchemy\Phrasea\Application;
use Alchemy\Phrasea\Border\File;
-use Alchemy\Phrasea\Border\Manager;
use Alchemy\Phrasea\Core\PhraseaEvents;
use Alchemy\Phrasea\Authentication\Context;
use Alchemy\Phrasea\Model\Entities\Task;
@@ -358,7 +357,6 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
*/
public function testGetMonitorTaskById()
{
- $this->insertTwoTasks();
$tasks = self::$DI['app']['manipulator.task']->getRepository()->findAll();
if (null === self::$adminToken) {
@@ -390,7 +388,6 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
*/
public function testPostMonitorTaskById()
{
- $this->insertTwoTasks();
$tasks = self::$DI['app']['manipulator.task']->getRepository()->findAll();
if (null === self::$adminToken) {
@@ -445,7 +442,6 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
$this->markTestSkipped('there is no user with admin rights');
}
- $this->insertTwoTasks();
$tasks = self::$DI['app']['manipulator.task']->getRepository()->findAll();
if (!count($tasks)) {
@@ -476,7 +472,6 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
*/
public function testPostMonitorStopTask()
{
- $this->insertTwoTasks();
$tasks = self::$DI['app']['manipulator.task']->getRepository()->findAll();
if (null === self::$adminToken) {
@@ -567,12 +562,8 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
public function testStoryRoute()
{
$this->setToken(self::$token);
-
self::$DI['app']['session']->set('usr_id', self::$DI['user']->get_id());
-
- if (!self::$DI['record_story_1']->hasChild(self::$DI['record_1'])) {
- self::$DI['record_story_1']->appendChild(self::$DI['record_1']);
- }
+ self::$DI['record_story_1']->appendChild(self::$DI['record_1']);
self::$DI['app']['session']->remove('usr_id');
@@ -593,6 +584,8 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
$route = '/api/v1/stories/kjslkz84spm/sfsd5qfsd5/';
$this->evaluateBadRequestRoute($route, ['GET']);
$this->evaluateMethodNotAllowedRoute($route, ['POST', 'PUT', 'DELETE']);
+
+ self::$DI['record_story_1']->removeChild(self::$DI['record_1']);
}
/**
@@ -840,6 +833,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
foreach ($response['results']['records'] as $record) {
$this->evaluateGoodRecord($record);
$found = true;
+ break;
}
if (!$found) {
@@ -876,6 +870,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
foreach ($response['results']['stories'] as $story) {
$this->evaluateGoodStory($story);
$found = true;
+ break;
}
if (!$found) {
@@ -1050,9 +1045,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
public function testStoriesEmbedRoute()
{
$this->setToken(self::$token);
-
$story = self::$DI['record_story_1'];
- $keys = array_keys($story->get_subdefs());
$route = '/api/v1/stories/' . $story->get_sbas_id() . '/' . $story->get_record_id() . '/embed/';
$this->evaluateMethodNotAllowedRoute($route, ['POST', 'PUT', 'DELETE']);
@@ -1304,8 +1297,6 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
*/
public function testSearchBaskets()
{
- $this->insertFiveBasket();
- $this->insertOneValidationBasket();
self::$DI['client'] = new Client(self::$DI['app'], []);
$this->setToken(self::$adminToken);
@@ -1357,7 +1348,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
{
$this->setToken(self::$adminToken);
- $basketElement = $this->insertOneBasketElement();
+ $basketElement = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\BasketElement', 1);
$basket = $basketElement->getBasket();
$route = '/api/v1/baskets/' . $basket->getId() . '/content/';
@@ -1397,7 +1388,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
{
$this->setToken(self::$adminToken);
- $basket = $this->insertOneBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$route = '/api/v1/baskets/' . $basket->getId() . '/setname/';
@@ -1450,7 +1441,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
{
$this->setToken(self::$adminToken);
- $basket = $this->insertOneBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$route = '/api/v1/baskets/' . $basket->getId() . '/setdescription/';
@@ -1475,11 +1466,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
public function testDeleteBasket()
{
$this->setToken(self::$adminToken);
-
- $baskets = $this->insertFiveBasket();
-
- $route = '/api/v1/baskets/' . $baskets[0]->getId() . '/delete/';
-
+ $route = '/api/v1/baskets/1/delete/';
$this->evaluateMethodNotAllowedRoute($route, ['GET', 'PUT', 'DELETE']);
self::$DI['client']->request('POST', $route, $this->getParameters(), [], ['HTTP_Accept' => $this->getAcceptMimeType()]);
@@ -1494,6 +1481,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
foreach ($content['response']['baskets'] as $basket) {
$this->evaluateGoodBasket($basket);
$found = true;
+ break;
}
if (!$found) {
$this->fail('There should be four baskets left');
@@ -1674,7 +1662,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
{
$title = 'Yellow title';
- $created_feed = $this->insertOneFeed(self::$DI['user'], $title);
+ $created_feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
$this->setToken(self::$token);
$route = '/api/v1/feeds/list/';
@@ -1696,7 +1684,8 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
if ($feed['id'] == $created_feed->getId()) {
$found = true;
- $this->assertEquals($title, $feed['title']);
+ $this->assertEquals('Feed test, YOLO!', $feed['title']);
+ break;
}
}
@@ -1718,15 +1707,14 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
->disableOriginalConstructor()
->getMock();
- $title = 'Yellow title';
- $subtitle = 'Trololololo !';
$entry_title = 'Superman';
$entry_subtitle = 'Wonder Woman';
$author = "W. Shakespeare";
$author_email = "gontran.bonheur@gmail.com";
- $created_item = $this->insertOneFeedItem(self::$DI['user']);
- $created_entry = $created_item->getEntry();
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $created_entry = $feed->getEntries()->first();
+
$created_entry->setAuthorEmail($author_email);
$created_entry->setAuthorName($author);
$created_entry->setTitle($entry_title);
@@ -1761,6 +1749,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
$this->assertEquals($author, $entry['author_name']);
$this->assertEquals($entry_title, $entry['title']);
$this->assertEquals($entry_subtitle, $entry['subtitle']);
+ break;
}
}
@@ -1779,15 +1768,8 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
->disableOriginalConstructor()
->getMock();
- $title = 'Yellow title';
- $subtitle = 'Trololololo !';
- $entry_title = 'Superman';
- $entry_subtitle = 'Wonder Woman';
- $author = "W. Shakespeare";
- $author_email = "gontran.bonheur@gmail.com";
-
- $created_item = $this->insertOneFeedItem(self::$DI['user']);
- $created_entry = $created_item->getEntry();
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $created_entry = $feed->getEntries()->first();
$this->setToken(self::$token);
$route = '/api/v1/feeds/entry/' . $created_entry->getId() . '/';
@@ -1817,16 +1799,8 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
->disableOriginalConstructor()
->getMock();
- $title = 'Yellow title';
- $subtitle = 'Trololololo !';
- $entry_title = 'Superman';
- $entry_subtitle = 'Wonder Woman';
- $author = "W. Shakespeare";
- $author_email = "gontran.bonheur@gmail.com";
-
- $created_item = $this->insertOneFeedItem(self::$DI['user']);
- $created_entry = $created_item->getEntry();
- $created_feed = $created_entry->getFeed();
+ $created_feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $created_entry = $created_feed->getEntries()->first();
$created_feed->setCollection(self::$DI['collection_no_access']);
@@ -1858,9 +1832,8 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
$entry_title = 'Superman';
$entry_subtitle = 'Wonder Woman';
- $created_item = $this->insertOneFeedItem(self::$DI['user']);
- $created_entry = $created_item->getEntry();
- $created_feed = $created_entry->getFeed();
+ $created_feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $created_entry = $created_feed->getEntries()->first();
$created_entry->setTitle($entry_title);
$created_entry->setSubtitle($entry_subtitle);
self::$DI['app']['EM']->persist($created_entry);
@@ -1889,6 +1862,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
$this->assertEquals($entry_title, $entry['title']);
$this->assertEquals($entry_subtitle, $entry['subtitle']);
$found = true;
+ break;
}
}
@@ -1908,7 +1882,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
$this->setToken(self::$token);
$route = '/api/v1/quarantine/list/';
- $quarantineItemId = $this->getQuarantineItem()->getId();
+ $quarantineItemId = self::$DI['lazaret_1']->getId();
$this->evaluateMethodNotAllowedRoute($route, ['POST', 'PUT', 'DELETE']);
@@ -1925,6 +1899,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
$this->evaluateGoodQuarantineItem($item);
if ($item['id'] == $quarantineItemId) {
$found = true;
+ break;
}
}
@@ -1940,7 +1915,7 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
{
$this->setToken(self::$token);
- $quarantineItemId = $this->getQuarantineItem()->getId();
+ $quarantineItemId = self::$DI['lazaret_1']->getId();
$route = '/api/v1/quarantine/item/' . $quarantineItemId . '/';
$this->evaluateMethodNotAllowedRoute($route, ['POST', 'PUT', 'DELETE']);
@@ -1954,25 +1929,6 @@ abstract class ApiTestCase extends \PhraseanetWebTestCase
$this->assertEquals($quarantineItemId, $content['response']['quarantine_item']['id']);
}
- protected function getQuarantineItem()
- {
- $lazaretSession = new \Alchemy\Phrasea\Model\Entities\LazaretSession();
- self::$DI['app']['EM']->persist($lazaretSession);
-
- $quarantineItem = null;
- $callback = function ($element, $visa, $code) use (&$quarantineItem) {
- $quarantineItem = $element;
- };
-
- $tmpname = tempnam(sys_get_temp_dir(), 'test_quarantine');
- copy(__DIR__ . '/../../../../files/iphone_pic.jpg', $tmpname);
-
- $file = File::buildFromPathfile($tmpname, self::$DI['collection'], self::$DI['app']);
- self::$DI['app']['border-manager']->process($lazaretSession, $file, $callback, Manager::FORCE_LAZARET);
-
- return $quarantineItem;
- }
-
protected function evaluateGoodQuarantineItem($item)
{
$this->assertArrayHasKey('id', $item);
diff --git a/tests/Alchemy/Tests/Phrasea/Application/LightboxTest.php b/tests/Alchemy/Tests/Phrasea/Application/LightboxTest.php
index 9a0093b339..3f049b3c16 100644
--- a/tests/Alchemy/Tests/Phrasea/Application/LightboxTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Application/LightboxTest.php
@@ -29,25 +29,23 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
{
$this->authenticate(self::$DI['app']);
- $baskets = $this->insertFiveBasket();
-
$this->set_user_agent(self::USER_AGENT_FIREFOX8MAC, self::$DI['app']);
$crawler = self::$DI['client']->request('GET', '/lightbox/');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
$this->assertEquals('UTF-8', self::$DI['client']->getResponse()->getCharset());
- $this->assertEquals(5, $crawler->filter('div.basket_wrapper')->count());
+ $this->assertCount(3, $crawler->filter('div.basket_wrapper'));
$this->set_user_agent(self::USER_AGENT_IE6, self::$DI['app']);
$crawler = self::$DI['client']->request('GET', '/lightbox/');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
$this->assertEquals('UTF-8', self::$DI['client']->getResponse()->getCharset());
- $this->assertEquals($crawler->filter('div.basket_wrapper')->count(), count($baskets));
+ $this->assertCount(3, $crawler->filter('div.basket_wrapper'));
$this->set_user_agent(self::USER_AGENT_IPHONE, self::$DI['app']);
- $crawler = self::$DI['client']->request('GET', '/lightbox/');
+ self::$DI['client']->request('GET', '/lightbox/');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
$this->assertEquals('UTF-8', self::$DI['client']->getResponse()->getCharset());
}
@@ -56,7 +54,7 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
{
$this->logout(self::$DI['app']);
- $Basket = $this->insertOneBasket();
+ $Basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$token = self::$DI['app']['tokens']->getUrlToken(\random::TYPE_VIEW, self::$DI['user_alt2']->get_id(), null, $Basket->getId());
self::$DI['client']->request('GET', '/lightbox/?LOG='.$token);
@@ -67,7 +65,7 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
public function testAjaxNoteForm()
{
- $basket = $this->insertOneValidationBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$basket_element = $basket->getELements()->first();
$this->set_user_agent(self::USER_AGENT_FIREFOX8MAC, self::$DI['app']);
@@ -91,7 +89,7 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
public function testAjaxElement()
{
- $basket_element = $this->insertOneBasketElement();
+ $basket_element = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\BasketElement', 1);
$this->set_user_agent(self::USER_AGENT_FIREFOX8MAC, self::$DI['app']);
@@ -136,8 +134,9 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
{
$this->set_user_agent(self::USER_AGENT_FIREFOX8MAC, self::$DI['app']);
- $item = $this->insertOneFeedItem(self::$DI['user']);
- $entry = $item->getEntry();
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $entry = $feed->getEntries()->first();
+ $item = $entry->getItems()->first();
$crawler = self::$DI['client']->request('GET', '/lightbox/ajax/LOAD_FEED_ITEM/' . $entry->getId() . '/' . $item->getId() . '/');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
@@ -180,7 +179,7 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
{
$this->authenticate(self::$DI['app']);
- $basket = $this->insertOneValidationBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$this->set_user_agent(self::USER_AGENT_FIREFOX8MAC, self::$DI['app']);
@@ -205,7 +204,7 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
{
$this->authenticate(self::$DI['app']);
- $basket = $this->insertOneBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$this->set_user_agent(self::USER_AGENT_FIREFOX8MAC, self::$DI['app']);
@@ -232,8 +231,8 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
$this->set_user_agent(self::USER_AGENT_FIREFOX8MAC, self::$DI['app']);
- $item = $this->insertOneFeedItem(self::$DI['user']);
- $entry = $item->getEntry();
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $entry = $feed->getEntries()->first();
$crawler = self::$DI['client']->request('GET', '/lightbox/feeds/entry/' . $entry->getId() . '/');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
@@ -254,20 +253,20 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
public function testAjaxReport()
{
- $validationBasket = $this->insertOneValidationBasket();
+ $validationBasket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$this->set_user_agent(self::USER_AGENT_FIREFOX8MAC, self::$DI['app']);
- $crawler = self::$DI['client']->request('GET', '/lightbox/ajax/LOAD_REPORT/' . $validationBasket->getId() . '/');
+ self::$DI['client']->request('GET', '/lightbox/ajax/LOAD_REPORT/' . $validationBasket->getId() . '/');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
$this->assertEquals('UTF-8', self::$DI['client']->getResponse()->getCharset());
}
public function testAjaxSetNote()
{
- $validationBasket = $this->insertOneValidationBasket();
+ $validationBasket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$validationBasketElement = $validationBasket->getElements()->first();
- $crawler = self::$DI['client']->request('POST', '/lightbox/ajax/SET_NOTE/' . $validationBasketElement->getId() . '/');
+ self::$DI['client']->request('POST', '/lightbox/ajax/SET_NOTE/' . $validationBasketElement->getId() . '/');
$this->assertEquals(400, self::$DI['client']->getResponse()->getStatusCode());
$crawler = self::$DI['client']->request(
@@ -287,7 +286,7 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
public function testAjaxSetAgreement()
{
- $validationBasket = $this->insertOneValidationBasket();
+ $validationBasket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$validationBasketElement = $validationBasket->getElements()->first();
$crawler = self::$DI['client']->request(
@@ -313,7 +312,7 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
public function testAjaxSetReleaseWithRegularBasket()
{
- $basket = $this->insertOneBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$crawler = self::$DI['client']->request('POST', '/lightbox/ajax/SET_RELEASE/' . $basket->getId() . '/');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
@@ -325,16 +324,16 @@ class LightboxTest extends \PhraseanetAuthenticatedWebTestCase
public function testAjaxSetReleaseWithRegularBasketWithValidation()
{
- $validationBasket = $this->insertOneValidationBasket();
+ $validationBasket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$this->mockNotificationDeliverer('Alchemy\Phrasea\Notification\Mail\MailInfoValidationDone');
foreach ($validationBasket->getElements() as $element) {
- $element->getUserValidationDatas(self::$DI['app']['authentication']->getUser(), self::$DI['app'])->setAgreement(true);
+ $element->getUserValidationDatas(self::$DI['user'], self::$DI['app'])->setAgreement(true);
break;
}
- $crawler = self::$DI['client']->request('POST', '/lightbox/ajax/SET_RELEASE/' . $validationBasket->getId() . '/');
+ self::$DI['client']->request('POST', '/lightbox/ajax/SET_RELEASE/' . $validationBasket->getId() . '/');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode(), sprintf('set note to element %s ', $validationBasket->getId()));
$this->assertEquals('application/json', self::$DI['client']->getResponse()->headers->get('Content-type'));
diff --git a/tests/Alchemy/Tests/Phrasea/Application/OverviewTest.php b/tests/Alchemy/Tests/Phrasea/Application/OverviewTest.php
index 8cbf485b15..b0e5c229d7 100644
--- a/tests/Alchemy/Tests/Phrasea/Application/OverviewTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Application/OverviewTest.php
@@ -58,13 +58,10 @@ class OverviewTest extends \PhraseanetAuthenticatedWebTestCase
public function testDatafilesRouteNotAuthenticatedIsOkInPublicFeed()
{
- $this->insertOneFeedItem(self::$DI['user'], true, 1, self::$DI['record_1']);
- self::$DI['record_1']->move_to_collection(self::$DI['collection_no_access'], self::$DI['app']['phraseanet.appbox']);
-
- self::$DI['client']->request('GET', '/datafiles/' . self::$DI['record_1']->get_sbas_id() . '/' . self::$DI['record_1']->get_record_id() . '/preview/');
-
+ self::$DI['record_5']->move_to_collection(self::$DI['collection_no_access'], self::$DI['app']['phraseanet.appbox']);
+ self::$DI['client']->request('GET', '/datafiles/' . self::$DI['record_5']->get_sbas_id() . '/' . self::$DI['record_5']->get_record_id() . '/preview/');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
- self::$DI['record_1']->move_to_collection(self::$DI['collection'], self::$DI['app']['phraseanet.appbox']);
+ self::$DI['record_5']->move_to_collection(self::$DI['collection'], self::$DI['app']['phraseanet.appbox']);
}
public function testDatafilesRouteNotAuthenticatedUnknownSubdef()
@@ -211,7 +208,9 @@ class OverviewTest extends \PhraseanetAuthenticatedWebTestCase
public function testPermalinkRouteNotAuthenticatedIsOkInPublicFeed()
{
- $item = $this->insertOneFeedItem(self::$DI['user'], true);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 2);
+ $entry = $feed->getEntries()->first();
+ $item = $entry->getItems()->first();
self::$DI['app']['authentication']->closeAccount();
self::$DI['client']->request('GET', '/permalink/v1/' . $item->getRecord(self::$DI['app'])->get_sbas_id() . '/' . $item->getRecord(self::$DI['app'])->get_record_id() . '/preview/');
diff --git a/tests/Alchemy/Tests/Phrasea/Authentication/Phrasea/FailureManagerTest.php b/tests/Alchemy/Tests/Phrasea/Authentication/Phrasea/FailureManagerTest.php
index fc1b30f5b3..597fa37c20 100644
--- a/tests/Alchemy/Tests/Phrasea/Authentication/Phrasea/FailureManagerTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Authentication/Phrasea/FailureManagerTest.php
@@ -250,25 +250,6 @@ class FailureManagerTest extends \PhraseanetTestCase
->method('getClientIp')
->will($this->returnValue($ip));
- for ($i = 0; $i < 10; $i++) {
- $failure = new AuthFailure();
- $failure->setIp($ip);
- $failure->setUsername($username);
- $failure->setLocked(false);
- $failure->setCreated(new \DateTime('-3 months'));
- self::$DI['app']['EM']->persist($failure);
- }
- for ($i = 0; $i < 2; $i++) {
- $failure = new AuthFailure();
- $failure->setIp($ip);
- $failure->setUsername($username);
- $failure->setLocked(false);
- $failure->setCreated(new \DateTime('-1 months'));
- self::$DI['app']['EM']->persist($failure);
- }
-
- self::$DI['app']['EM']->flush();
-
$this->assertCount(10, self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\AuthFailure')
->findOldFailures());
$this->assertCount(12, self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\AuthFailure')
diff --git a/tests/Alchemy/Tests/Phrasea/Border/Checker/Sha256Test.php b/tests/Alchemy/Tests/Phrasea/Border/Checker/Sha256Test.php
index 02b7b90512..3406d1a122 100644
--- a/tests/Alchemy/Tests/Phrasea/Border/Checker/Sha256Test.php
+++ b/tests/Alchemy/Tests/Phrasea/Border/Checker/Sha256Test.php
@@ -38,8 +38,7 @@ class Sha256Test extends \PhraseanetTestCase
*/
public function testCheck()
{
- $session = new \Alchemy\Phrasea\Model\Entities\LazaretSession();
- self::$DI['app']['EM']->persist($session);
+ $session = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\LazaretSession', 1);
self::$DI['app']['border-manager']->process($session, File::buildFromPathfile($this->media->getFile()->getPathname(), self::$DI['collection'], self::$DI['app']), null, Manager::FORCE_RECORD);
@@ -48,13 +47,11 @@ class Sha256Test extends \PhraseanetTestCase
$mock
->expects($this->once())
->method('getSha256')
- ->will($this->returnValue($this->media->getHash('sha256', __DIR__ . '/../../../../../files/test001.jpg')))
+ ->will($this->returnValue('7fad283de349b903c850548cda65cf2d86d24c4e3856cdc2b97e47430494b8c8'))
;
$response = $this->object->check(self::$DI['app']['EM'], $mock);
-
$this->assertInstanceOf('\\Alchemy\\Phrasea\\Border\\Checker\\Response', $response);
-
$this->assertFalse($response->isOk());
}
diff --git a/tests/Alchemy/Tests/Phrasea/Border/ManagerTest.php b/tests/Alchemy/Tests/Phrasea/Border/ManagerTest.php
index d67cca09b3..dda30d14a4 100644
--- a/tests/Alchemy/Tests/Phrasea/Border/ManagerTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Border/ManagerTest.php
@@ -54,9 +54,7 @@ class ManagerTest extends \PhraseanetAuthenticatedWebTestCase
{
parent::setUp();
$this->object = new Manager(self::$DI['app']);
- $this->session = new \Alchemy\Phrasea\Model\Entities\LazaretSession();
-
- self::$DI['app']['EM']->persist($this->session);
+ $this->session = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\LazaretSession', 1);
}
/**
diff --git a/tests/Alchemy/Tests/Phrasea/Command/Task/TaskListTest.php b/tests/Alchemy/Tests/Phrasea/Command/Task/TaskListTest.php
index bbf1090942..fe5a7cb757 100644
--- a/tests/Alchemy/Tests/Phrasea/Command/Task/TaskListTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Command/Task/TaskListTest.php
@@ -8,8 +8,6 @@ class TaskListTest extends \PhraseanetTestCase
{
public function testRunWithoutProblems()
{
- $this->insertTwoTasks();
-
$input = $this->getMock('Symfony\Component\Console\Input\InputInterface');
$output = $this->getMock('Symfony\Component\Console\Output\OutputInterface');
diff --git a/tests/Alchemy/Tests/Phrasea/Command/Task/TaskRunTest.php b/tests/Alchemy/Tests/Phrasea/Command/Task/TaskRunTest.php
index 89a29c53b5..53124eb1d7 100644
--- a/tests/Alchemy/Tests/Phrasea/Command/Task/TaskRunTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Command/Task/TaskRunTest.php
@@ -9,21 +9,13 @@ class TaskRunTest extends \PhraseanetTestCase
{
public function testRunWithoutProblems()
{
- $task = new Task();
- $task
- ->setName('Task')
- ->setJobId('Null');
-
- self::$DI['cli']['EM']->persist($task);
- self::$DI['cli']['EM']->flush();
-
$input = $this->getMock('Symfony\Component\Console\Input\InputInterface');
$output = $this->getMock('Symfony\Component\Console\Output\OutputInterface');
$input->expects($this->any())
->method('getArgument')
->with('task_id')
- ->will($this->returnValue($task->getId()));
+ ->will($this->returnValue(1));
$command = new TaskRun();
$command->setContainer(self::$DI['cli']);
diff --git a/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStartTest.php b/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStartTest.php
index aff88e2689..97d452826e 100644
--- a/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStartTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStartTest.php
@@ -9,21 +9,13 @@ class TaskStartTest extends \PhraseanetTestCase
{
public function testRunWithoutProblems()
{
- $task = new Task();
- $task
- ->setName('Task')
- ->setJobId('Null');
-
- self::$DI['cli']['EM']->persist($task);
- self::$DI['cli']['EM']->flush();
-
$input = $this->getMock('Symfony\Component\Console\Input\InputInterface');
$output = $this->getMock('Symfony\Component\Console\Output\OutputInterface');
$input->expects($this->any())
->method('getArgument')
->with('task_id')
- ->will($this->returnValue($task->getId()));
+ ->will($this->returnValue(1));
$command = new TaskStart();
$command->setContainer(self::$DI['cli']);
diff --git a/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStateTest.php b/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStateTest.php
index f000e99244..ef64697c0c 100644
--- a/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStateTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStateTest.php
@@ -9,21 +9,13 @@ class TaskStateTest extends \PhraseanetTestCase
{
public function testRunWithoutProblems()
{
- $task = new Task();
- $task
- ->setName('Task')
- ->setJobId('Null');
-
- self::$DI['cli']['EM']->persist($task);
- self::$DI['cli']['EM']->flush();
-
$input = $this->getMock('Symfony\Component\Console\Input\InputInterface');
$output = $this->getMock('Symfony\Component\Console\Output\OutputInterface');
$input->expects($this->any())
->method('getArgument')
->with('task_id')
- ->will($this->returnValue($task->getId()));
+ ->will($this->returnValue(1));
$command = new TaskState();
$command->setContainer(self::$DI['cli']);
diff --git a/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStopTest.php b/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStopTest.php
index 1b69ac0d8f..748c8a86ed 100644
--- a/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStopTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Command/Task/TaskStopTest.php
@@ -9,21 +9,13 @@ class TaskStopTest extends \PhraseanetTestCase
{
public function testRunWithoutProblems()
{
- $task = new Task();
- $task
- ->setName('Task')
- ->setJobId('Null');
-
- self::$DI['cli']['EM']->persist($task);
- self::$DI['cli']['EM']->flush();
-
$input = $this->getMock('Symfony\Component\Console\Input\InputInterface');
$output = $this->getMock('Symfony\Component\Console\Output\OutputInterface');
$input->expects($this->any())
->method('getArgument')
->with('task_id')
- ->will($this->returnValue($task->getId()));
+ ->will($this->returnValue(1));
$command = new TaskStop();
$command->setContainer(self::$DI['cli']);
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Admin/PublicationTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Admin/PublicationTest.php
index 723673f9b5..acdcb8c03b 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Admin/PublicationTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Admin/PublicationTest.php
@@ -17,7 +17,7 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
foreach ($feeds as $feed) {
$this->assertRegExp('/\/admin\/publications\/feed\/' . $feed->getId() . '/', $pageContent);
- if ($feed->getCollection() != null) {
+ if ($feed->getCollection(self::$DI['app']) != null) {
$this->assertRegExp('/' . $feed->getCollection()->get_label(self::$DI['app']['locale']) . '/', $pageContent);
}
if ($feed->isOwner(self::$DI['user'])) {
@@ -42,17 +42,16 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
public function testGetFeed()
{
- $feed = $this->insertOneFeed(self::$DI['user'], "salut");
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
$crawler = self::$DI['client']->request('GET', '/admin/publications/feed/' . $feed->getId() . '/');
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$this->assertEquals(1, $crawler->filterXPath("//form[@action='/admin/publications/feed/" . $feed->getId() . "/update/']")->count());
- $this->assertEquals(1, $crawler->filterXPath("//input[@value='salut']")->count());
+ $this->assertEquals(1, $crawler->filterXPath("//input[@value='Feed test, YOLO!']")->count());
}
public function testUpdatedFeedException()
{
-
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
self::$DI['client']->request("POST", "/admin/publications/feed/" . $feed->getId() . "/update/", [
'title' => 'test'
@@ -76,7 +75,7 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
public function testUpdatedFeedOwner()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
self::$DI['client']->request("POST", "/admin/publications/feed/" . $feed->getId() . "/update/", [
'title' => 'test'
@@ -109,7 +108,7 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
public function testIconUploadErrorOwner()
{
- $feed = $this->insertOneFeed(self::$DI['user_alt1']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 3);
self::$DI['client']->request("POST", "/admin/publications/feed/" . $feed->getId() . "/iconupload/", [], [], ['HTTP_ACCEPT' => 'application/json']);
@@ -120,7 +119,7 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
public function testIconUploadErrorFileData()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
self::$DI['client']->request(
"POST"
@@ -138,7 +137,7 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
public function testIconUploadErrorFileType()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
self::$DI['client']->request(
"POST"
@@ -156,7 +155,7 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
public function testIconUpload()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
$files = [
'files' => [
@@ -184,7 +183,7 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
public function testAddPublisher()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
self::$DI['client']->request("POST", "/admin/publications/feed/" . $feed->getId() . "/addpublisher/", [
'usr_id' => self::$DI['user_alt1']->get_id()
@@ -206,7 +205,7 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
public function testAddPublisherException()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
self::$DI['client']->request("POST", "/admin/publications/feed/" . $feed->getId() . "/addpublisher/");
@@ -222,7 +221,7 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
public function testRemovePublisher()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
self::$DI['client']->request("POST", "/admin/publications/feed/" . $feed->getId() . "/removepublisher/", [
'usr_id' => self::$DI['user_alt1']->get_id()
@@ -244,7 +243,7 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
public function testRemovePublisherException()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
self::$DI['client']->request("POST", "/admin/publications/feed/" . $feed->getId() . "/removepublisher/");
@@ -262,7 +261,7 @@ class Module_Admin_Route_PublicationTest extends \PhraseanetAuthenticatedWebTest
public function testDeleteFeed()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
self::$DI['client']->request("POST", "/admin/publications/feed/" . $feed->getId() . "/delete/");
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Admin/TaskManagerTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Admin/TaskManagerTest.php
index 5a928815dd..10d400768a 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Admin/TaskManagerTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Admin/TaskManagerTest.php
@@ -15,15 +15,6 @@ class TaskManagerTest extends \PhraseanetAuthenticatedWebTestCase
public function testRootListTasks()
{
- foreach (self::$DI['app']['task-manager.available-jobs'] as $job) {
- $task = new Task();
- $task
- ->setName('task')
- ->setJobId(get_class($job));
- self::$DI['app']['EM']->persist($task);
- }
- self::$DI['app']['EM']->flush();
-
self::$DI['client']->request('GET', '/admin/task-manager/tasks');
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
}
@@ -84,43 +75,22 @@ class TaskManagerTest extends \PhraseanetAuthenticatedWebTestCase
public function testGetTaskLog()
{
- $task = new Task();
- $task
- ->setName('task')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
-
- self::$DI['client']->request('GET', '/admin/task-manager/task/'.$task->getId().'/log');
+ self::$DI['client']->request('GET', '/admin/task-manager/task/1/log');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
}
public function testPostTaskDelete()
{
- $task = new Task();
- $task
- ->setName('task')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
- $taskId = $task->getId();
-
- self::$DI['client']->request('POST', '/admin/task-manager/task/'.$taskId.'/delete');
+ self::$DI['client']->request('POST', '/admin/task-manager/task/1/delete');
$this->assertEquals(302, self::$DI['client']->getResponse()->getStatusCode());
$this->assertEquals('/admin/task-manager/tasks', self::$DI['client']->getResponse()->headers->get('location'));
- $this->assertNull(self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', $taskId));
+ $this->assertNull(self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1));
}
public function testPostTaskStart()
{
- $task = new Task();
- $task
- ->setName('task')
- ->setStatus(Task::STATUS_STOPPED)
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
+ $task = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
self::$DI['client']->request('POST', '/admin/task-manager/task/'.$task->getId().'/start');
$this->assertEquals(302, self::$DI['client']->getResponse()->getStatusCode());
@@ -131,13 +101,7 @@ class TaskManagerTest extends \PhraseanetAuthenticatedWebTestCase
public function testPostTaskStop()
{
- $task = new Task();
- $task
- ->setName('task')
- ->setStatus(Task::STATUS_STARTED)
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
+ $task = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
self::$DI['client']->request('POST', '/admin/task-manager/task/'.$task->getId().'/stop');
$this->assertEquals(302, self::$DI['client']->getResponse()->getStatusCode());
@@ -148,13 +112,7 @@ class TaskManagerTest extends \PhraseanetAuthenticatedWebTestCase
public function testPostResetCrashes()
{
- $task = new Task();
- $task
- ->setName('task')
- ->setCrashed(30)
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
+ $task = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
self::$DI['client']->request('POST', '/admin/task-manager/task/'.$task->getId().'/resetcrashcounter');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
@@ -165,12 +123,7 @@ class TaskManagerTest extends \PhraseanetAuthenticatedWebTestCase
public function testPostSaveTask()
{
- $task = new Task();
- $task
- ->setName('task')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
+ $task = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
$name = 'renamed';
$period = 366;
@@ -198,14 +151,7 @@ class TaskManagerTest extends \PhraseanetAuthenticatedWebTestCase
public function testGetTask()
{
- $task = new Task();
- $task
- ->setName('task')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
-
- self::$DI['client']->request('GET', '/admin/task-manager/task/'.$task->getId());
+ self::$DI['client']->request('GET', '/admin/task-manager/task/1');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
}
@@ -234,13 +180,6 @@ class TaskManagerTest extends \PhraseanetAuthenticatedWebTestCase
public function testPostTaskFacility()
{
- $task = new Task();
- $task
- ->setName('task')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
-
$job = $this->getMock('Alchemy\Phrasea\TaskManager\Job\JobInterface');
$editor = $this->getMock('Alchemy\Phrasea\TaskManager\Editor\EditorInterface');
@@ -257,19 +196,12 @@ class TaskManagerTest extends \PhraseanetAuthenticatedWebTestCase
->method('create')
->will($this->returnValue($job));
- self::$DI['client']->request('POST', '/admin/task-manager/task/'.$task->getId().'/facility');
+ self::$DI['client']->request('POST', '/admin/task-manager/task/1/facility');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
}
public function testPostTaskXmlFromForm()
{
- $task = new Task();
- $task
- ->setName('task')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
-
$job = $this->getMock('Alchemy\Phrasea\TaskManager\Job\JobInterface');
$editor = $this->getMock('Alchemy\Phrasea\TaskManager\Editor\EditorInterface');
@@ -286,7 +218,7 @@ class TaskManagerTest extends \PhraseanetAuthenticatedWebTestCase
->method('create')
->will($this->returnValue($job));
- self::$DI['client']->request('POST', '/admin/task-manager/task/'.$task->getId().'/xml-from-form');
+ self::$DI['client']->request('POST', '/admin/task-manager/task/1/xml-from-form');
$this->assertEquals(200, self::$DI['client']->getResponse()->getStatusCode());
}
}
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Admin/UsersTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Admin/UsersTest.php
index 6898559b95..487da0270a 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Admin/UsersTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Admin/UsersTest.php
@@ -63,13 +63,11 @@ class ControllerUsersTest extends \PhraseanetAuthenticatedWebTestCase
$user = \User_Adapter::create(self::$DI['app'], $username, "test", $username . "@email.com", false);
$base_id = self::$DI['collection']->get_base_id();
- $_POST['values'] = 'canreport_' . $base_id . '=1&manage_' . self::$DI['collection']->get_base_id() . '=1&canpush_' . self::$DI['collection']->get_base_id() . '=1';
- $_POST['user_infos'] = "email=" .$username . "-lambda@email.com";
self::$DI['client']->request('POST', '/admin/users/rights/apply/', [
'users' => $user->get_id(),
'values' => 'canreport_' . $base_id . '=1&manage_' . self::$DI['collection']->get_base_id() . '=1&canpush_' . self::$DI['collection']->get_base_id() . '=1',
- 'user_infos' => "user_infos[email]=" . $user->get_email(),
+ 'user_infos' => "email=" . $username . "-lambda@email.com",
]);
$response = self::$DI['client']->getResponse();
$this->assertTrue($response->isOK());
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Client/BasketsTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Client/BasketsTest.php
index 40bc291b9c..823f9524b5 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Client/BasketsTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Client/BasketsTest.php
@@ -43,7 +43,7 @@ class BasketsTest extends \PhraseanetAuthenticatedWebTestCase
*/
public function testAddElementToBasket()
{
- $basket = $this->insertOneBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
self::$DI['client']->request("POST", "/client/baskets/add-element/", [
'courChuId' => $basket->getId(),
'sbas' => self::$DI['record_1']->get_sbas_id(),
@@ -59,15 +59,14 @@ class BasketsTest extends \PhraseanetAuthenticatedWebTestCase
*/
public function testDeleteBasket()
{
- $basket = $this->insertOneBasket();
self::$DI['client']->request("POST", "/client/baskets/delete/", [
- 'courChuId' => $basket->getId()
+ 'courChuId' => 1
]);
$this->assertTrue(self::$DI['client']->getResponse()->isRedirect());
try {
- $basket = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Basket')->find($basket->getId());
+ $basket = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Basket')->find(1);
$this->fail('Basket is not deleted');
- } catch (\exception $e) {
+ } catch (\Exception $e) {
}
}
@@ -77,19 +76,8 @@ class BasketsTest extends \PhraseanetAuthenticatedWebTestCase
*/
public function testDeleteBasketElement()
{
- $basket = $this->insertOneBasket();
-
- $record = self::$DI['record_1'];
-
- $basketElement = new \Alchemy\Phrasea\Model\Entities\BasketElement();
- $basketElement->setBasket($basket);
- $basketElement->setRecord($record);
- $basketElement->setLastInBasket();
-
- $basket->addElement($basketElement);
-
- self::$DI['app']['EM']->persist($basket);
- self::$DI['app']['EM']->flush();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
+ $basketElement = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\BasketElement', 1);
self::$DI['client']->request("POST", "/client/baskets/delete-element/", [
'p0' => $basketElement->getId()
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/BasketTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/BasketTest.php
index 3111fb1939..1df30ae6c6 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/BasketTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/BasketTest.php
@@ -38,18 +38,21 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
$query = self::$DI['app']['EM']->createQuery('SELECT COUNT(b.id) FROM \Alchemy\Phrasea\Model\Entities\Basket b');
$count = $query->getSingleScalarResult();
- $this->assertEquals(1, $count);
+ $this->assertEquals(5, $count);
$this->assertEquals(302, $response->getStatusCode());
$query = self::$DI['app']['EM']->createQuery('SELECT b FROM \Alchemy\Phrasea\Model\Entities\Basket b');
$result = $query->getResult();
- $basket = array_shift($result);
+ $basket = array_pop($result);
$this->assertEquals(2, $basket->getElements()->count());
}
public function testRootPostJSON()
{
+ $query = self::$DI['app']['EM']->createQuery('SELECT COUNT(b.id) FROM \Alchemy\Phrasea\Model\Entities\Basket b');
+ $count = $query->getSingleScalarResult();
+
$route = '/prod/baskets/';
self::$DI['client']->request(
@@ -69,10 +72,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
$query = self::$DI['app']['EM']->createQuery('SELECT COUNT(b.id) FROM \Alchemy\Phrasea\Model\Entities\Basket b');
- $count = $query->getSingleScalarResult();
-
- $this->assertEquals(1, $count);
-
+ $this->assertEquals($count + 1, $query->getSingleScalarResult());
$this->assertEquals(200, $response->getStatusCode());
}
@@ -97,8 +97,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testBasketGet()
{
- $basket = $this->insertOneBasket();
- $route = sprintf('/prod/baskets/%s/', $basket->getId());
+ $route = '/prod/baskets/1/';
self::$DI['client']->request('GET', $route);
$response = self::$DI['client']->getResponse();
$this->assertEquals(200, $response->getStatusCode());
@@ -106,7 +105,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testBasketGetAccessDenied()
{
- $basket = $this->insertOneBasket(self::$DI['user_alt1']);
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 3);
$route = sprintf('/prod/baskets/%s/', $basket->getId());
self::$DI['client']->request('GET', $route);
$response = self::$DI['client']->getResponse();
@@ -115,7 +114,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testBasketDeleteElementPost()
{
- $basketElement = $this->insertOneBasketElement();
+ $basketElement = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\BasketElement', 1);
$basket = $basketElement->getBasket();
$this->assertEquals(1, $basket->getElements()->count());
@@ -132,19 +131,8 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testBasketDeldeteElementPostJSON()
{
- $basket = $this->insertOneBasket();
-
- $record = self::$DI['record_1'];
-
- $basket_element = new \Alchemy\Phrasea\Model\Entities\BasketElement();
- $basket_element->setBasket($basket);
- $basket_element->setRecord($record);
- $basket_element->setLastInBasket();
-
- $basket->addElement($basket_element);
-
- self::$DI['app']['EM']->persist($basket);
- self::$DI['app']['EM']->flush();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
+ $basket_element = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\BasketElement', 1);
$route = sprintf(
"/prod/baskets/%s/delete/%s/", $basket->getId(), $basket_element->getId()
@@ -163,7 +151,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testBasketDeletePostUnauthorized()
{
- $basket = $this->insertOneBasket(self::$DI['user_alt1']);
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 3);
$route = sprintf('/prod/baskets/%s/delete/', $basket->getId());
self::$DI['client']->request('POST', $route);
$response = self::$DI['client']->getResponse();
@@ -171,37 +159,34 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
$this->assertEquals(403, $response->getStatusCode());
$query = self::$DI['app']['EM']->createQuery('SELECT COUNT(b.id) FROM \Alchemy\Phrasea\Model\Entities\Basket b');
$count = $query->getSingleScalarResult();
- $this->assertEquals(1, $count);
+ $this->assertEquals(4, $count);
}
public function testBasketDeletePost()
{
- $basket = $this->insertOneBasket();
- $route = sprintf('/prod/baskets/%s/delete/', $basket->getId());
+ $route = '/prod/baskets/1/delete/';
self::$DI['client']->request('POST', $route);
$response = self::$DI['client']->getResponse();
$query = self::$DI['app']['EM']->createQuery('SELECT COUNT(b.id) FROM \Alchemy\Phrasea\Model\Entities\Basket b');
$count = $query->getSingleScalarResult();
- $this->assertEquals(0, $count);
+ $this->assertEquals(3, $count);
$this->assertEquals(302, $response->getStatusCode());
}
public function testBasketDeletePostJSON()
{
- $basket = $this->insertOneBasket();
- $route = sprintf('/prod/baskets/%s/delete/', $basket->getId());
+ $route = '/prod/baskets/1/delete/';
self::$DI['client']->request('POST', $route, [], [], ["HTTP_ACCEPT" => "application/json"]);
$response = self::$DI['client']->getResponse();
$query = self::$DI['app']['EM']->createQuery('SELECT COUNT(b.id) FROM \Alchemy\Phrasea\Model\Entities\Basket b');
$count = $query->getSingleScalarResult();
- $this->assertEquals(0, $count);
+ $this->assertEquals(3, $count);
$this->assertEquals(200, $response->getStatusCode());
}
public function testBasketUpdatePost()
{
- $basket = $this->insertOneBasket();
-
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$route = sprintf('/prod/baskets/%s/update/', $basket->getId());
self::$DI['client']->request(
@@ -218,7 +203,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testBasketUpdatePostJSON()
{
- $basket = $this->insertOneBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$route = sprintf('/prod/baskets/%s/update/', $basket->getId());
self::$DI['client']->request(
@@ -237,7 +222,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testReorderGet()
{
- $basket = $this->insertOneBasketEnv();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$route = sprintf("/prod/baskets/%s/reorder/", $basket->getId());
@@ -253,8 +238,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testBasketUpdateGet()
{
- $basket = $this->insertOneBasket();
-
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$route = sprintf('/prod/baskets/%s/update/', $basket->getId());
$crawler = self::$DI['client']->request(
@@ -276,7 +260,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testBasketArchivedPost()
{
- $basket = $this->insertOneBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$route = sprintf('/prod/baskets/%s/archive/?archive=1', $basket->getId());
self::$DI['client']->request('POST', $route);
$this->assertTrue($basket->getArchived());
@@ -290,8 +274,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testBasketArchivedPostJSON()
{
- $basket = $this->insertOneBasket();
-
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$route = sprintf('/prod/baskets/%s/archive/?archive=1', $basket->getId());
self::$DI['client']->request(
@@ -317,8 +300,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testAddElementPost()
{
- $basket = $this->insertOneBasket();
-
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$route = sprintf('/prod/baskets/%s/addElements/', $basket->getId());
$records = [
@@ -337,7 +319,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
$response = self::$DI['client']->getResponse();
$this->assertEquals(302, $response->getStatusCode());
- $this->assertEquals(2, $basket->getElements()->count());
+ $this->assertCount(2, $basket->getElements());
}
public function testAddElementToValidationPost()
@@ -345,37 +327,13 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
$datas = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\ValidationData')->findAll();
$countDatas = count($datas);
- $basket = $this->insertOneBasket();
-
- $validationSession = new \Alchemy\Phrasea\Model\Entities\ValidationSession();
-
- $expires = new \DateTime();
- $expires->modify('+1 week');
-
- $validationSession->setExpires($expires);
- $validationSession->setInitiator(self::$DI['user']);
-
- self::$DI['app']['EM']->persist($validationSession);
-
- $basket->setValidation($validationSession);
-
- $validationSession->setBasket($basket);
-
- $validationParticipant = new \Alchemy\Phrasea\Model\Entities\ValidationParticipant();
- $validationParticipant->setSession($validationSession);
- $validationParticipant->setUser(self::$DI['user_alt1']);
-
- self::$DI['app']['EM']->persist($validationParticipant);
-
- $validationSession->addParticipant($validationParticipant);
-
- self::$DI['app']['EM']->flush();
-
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
+ $this->assertCount(2, $basket->getElements());
$route = sprintf('/prod/baskets/%s/addElements/', $basket->getId());
$records = [
- self::$DI['record_1']->get_serialize_key(),
- self::$DI['record_2']->get_serialize_key(),
+ self::$DI['record_3']->get_serialize_key(),
+ self::$DI['record_4']->get_serialize_key(),
' ',
'42',
'abhak',
@@ -389,16 +347,15 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
$response = self::$DI['client']->getResponse();
$this->assertEquals(302, $response->getStatusCode());
- $this->assertEquals(2, $basket->getElements()->count());
+ $this->assertCount(4, $basket->getElements());
$datas = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\ValidationData')->findAll();
$this->assertTrue($countDatas < count($datas), 'assert that ' . count($datas) . ' > ' . $countDatas);
}
public function testAddElementPostJSON()
{
- $basket = $this->insertOneBasket();
-
- $route = sprintf('/prod/baskets/%s/addElements/', $basket->getId());
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
+ $route = '/prod/baskets/1/addElements/';
$records = [
self::$DI['record_1']->get_serialize_key(),
@@ -407,28 +364,18 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
$lst = implode(';', $records);
- self::$DI['client']->request(
- 'POST', $route, [
- 'lst' => $lst
- ], [], [
- "HTTP_ACCEPT" => "application/json"
- ]
- );
-
+ self::$DI['client']->request('POST', $route, ['lst' => $lst], [], ["HTTP_ACCEPT" => "application/json"]);
$response = self::$DI['client']->getResponse();
-
$this->assertEquals(200, $response->getStatusCode());
-
$this->assertEquals(2, $basket->getElements()->count());
}
public function testRouteStealElements()
{
- $BasketElement = $this->insertOneBasketElement();
+ $BasketElement = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\BasketElement', 1);
$Basket_1 = $BasketElement->getBasket();
-
- $Basket_2 = $this->insertOneBasket();
+ $Basket_2 = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 2);
$route = sprintf('/prod/baskets/%s/stealElements/', $Basket_2->getId());
@@ -448,11 +395,11 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testRouteStealElementsJson()
{
- $BasketElement = $this->insertOneBasketElement();
+ $BasketElement = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\BasketElement', 1);
$Basket_1 = $BasketElement->getBasket();
- $Basket_2 = $this->insertOneBasket();
+ $Basket_2 = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 2);
$route = sprintf('/prod/baskets/%s/stealElements/', $Basket_2->getId());
@@ -481,7 +428,7 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
public function testRemoveBasket()
{
- $basket = $this->insertOneBasketEnv();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$route = sprintf('/prod/baskets/%s/delete/', $basket->getId());
self::$DI['client']->request('POST', $route, [], [], ["HTTP_ACCEPT" => "application/json"]);
@@ -500,12 +447,12 @@ class ControllerBasketTest extends \PhraseanetAuthenticatedWebTestCase
$this->assertEquals(0, $query->getSingleScalarResult());
$query = self::$DI['app']['EM']->createQuery('SELECT COUNT(b.id) FROM \Alchemy\Phrasea\Model\Entities\BasketElement b');
- $this->assertEquals(0, $query->getSingleScalarResult());
+ $this->assertEquals(1, $query->getSingleScalarResult());
$query = self::$DI['app']['EM']->createQuery('SELECT COUNT(v.id) FROM \Alchemy\Phrasea\Model\Entities\ValidationSession v');
$this->assertEquals(0, $query->getSingleScalarResult());
$query = self::$DI['app']['EM']->createQuery('SELECT COUNT(b.id) FROM \Alchemy\Phrasea\Model\Entities\Basket b');
- $this->assertEquals(0, $query->getSingleScalarResult());
+ $this->assertEquals(3, $query->getSingleScalarResult());
}
}
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/BridgeTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/BridgeTest.php
index 38aadc46d6..9f0a666dad 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/BridgeTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/BridgeTest.php
@@ -42,13 +42,8 @@ class BridgeApplication extends \PhraseanetAuthenticatedWebTestCase
*/
public function testManager()
{
- $accounts = \Bridge_Account::get_accounts_by_user(self::$DI['app'], self::$DI['user']);
- $usr_id = self::$DI['user']->get_id();
-
- $basket = $this->insertOneBasket();
-
- $crawler = self::$DI['client']->request('POST', '/prod/bridge/manager/', ['ssel' => $basket->getId()]);
- $pageContent = self::$DI['client']->getResponse()->getContent();
+ self::$DI['client']->request('POST', '/prod/bridge/manager/', ['ssel' => 1]);
+ self::$DI['client']->getResponse()->getContent();
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
}
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/DownloadTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/DownloadTest.php
index 483db7ac25..c6e5731a79 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/DownloadTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/DownloadTest.php
@@ -104,7 +104,7 @@ class DownloadTest extends \PhraseanetAuthenticatedWebTestCase
*/
public function testDownloadBasket()
{
- $basket = $this->insertOneBasketEnv();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$eventManagerStub = $this->getMockBuilder('\eventsmanager_broker')
->disableOriginalConstructor()
@@ -136,7 +136,7 @@ class DownloadTest extends \PhraseanetAuthenticatedWebTestCase
*/
public function testDownloadBasketValidation()
{
- $basket = $this->insertOneValidationBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 4);
$eventManagerStub = $this->getMockBuilder('\eventsmanager_broker')
->disableOriginalConstructor()
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/FeedTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/FeedTest.php
index 154a581c82..739c87a68f 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/FeedTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/FeedTest.php
@@ -10,8 +10,6 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
{
public function testRequestAvailable()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
-
$crawler = self::$DI['client']->request('POST', '/prod/feeds/requestavailable/');
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$feeds = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Feed')->getAllForUser(self::$DI['app']['acl']->get(self::$DI['user']));
@@ -32,7 +30,7 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
->method('deliver')
->with($this->isInstanceOf('Alchemy\Phrasea\Notification\Mail\MailInfoNewPublication'), $this->equalTo(null));
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
$params = [
"feed_id" => $feed->getId()
, "notify" => 1
@@ -43,7 +41,7 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
, 'lst' => self::$DI['record_1']->get_serialize_key()
];
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/create/', $params);
+ self::$DI['client']->request('POST', '/prod/feeds/entry/create/', $params);
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$this->assertEquals("application/json", self::$DI['client']->getResponse()->headers->get("content-type"));
$pageContent = json_decode(self::$DI['client']->getResponse()->getContent());
@@ -62,14 +60,14 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
, "author_mail" => "robert@kikoo.mail"
, 'lst' => self::$DI['record_1']->get_serialize_key()
];
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/create/', $params);
+ self::$DI['client']->request('POST', '/prod/feeds/entry/create/', $params);
$this->assertFalse(self::$DI['client']->getResponse()->isOk());
$this->assertEquals(404, self::$DI['client']->getResponse()->getStatusCode());
}
public function testEntryCreateUnauthorized()
{
- $feed = $this->insertOneFeed(self::$DI['user_alt1']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 3);
self::$DI['app']['notification.deliverer'] = $this->getMockBuilder('Alchemy\Phrasea\Notification\Deliverer')
->disableOriginalConstructor()
@@ -87,15 +85,15 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
, 'lst' => self::$DI['record_1']->get_serialize_key()
];
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/create/', $params);
+ self::$DI['client']->request('POST', '/prod/feeds/entry/create/', $params);
$this->assertEquals(403, self::$DI['client']->getResponse()->getStatusCode());
}
public function testEntryEdit()
{
- $entry = $this->insertOneFeedEntry(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $entry = $feed->getEntries()->first();
$crawler = self::$DI['client']->request('GET', '/prod/feeds/entry/' . $entry->getId() . '/edit/');
- $pageContent = self::$DI['client']->getResponse()->getContent();
foreach ($entry->getItems() as $content) {
$this->assertEquals(1, $crawler->filterXPath("//input[@value='" . $content->getId() . "' and @name='item_id']")->count());
@@ -110,16 +108,18 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
public function testEntryEditUnauthorized()
{
- $entry = $this->insertOneFeedEntry(self::$DI['user_alt1']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 3);
+ $entry = $feed->getEntries()->first();
- $crawler = self::$DI['client']->request('GET', '/prod/feeds/entry/' . $entry->getId() . '/edit/');
+ self::$DI['client']->request('GET', '/prod/feeds/entry/' . $entry->getId() . '/edit/');
$pageContent = self::$DI['client']->getResponse();
$this->assertEquals(403, $pageContent->getStatusCode());
}
public function testEntryUpdate()
{
- $entry = $this->insertOneFeedEntry(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $entry = $feed->getEntries()->first();
$params = [
"title" => "dog",
@@ -129,7 +129,7 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
'lst' => self::$DI['record_1']->get_serialize_key(),
];
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
+ self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$this->assertEquals("application/json", self::$DI['client']->getResponse()->headers->get("content-type"));
$pageContent = json_decode(self::$DI['client']->getResponse()->getContent());
@@ -142,8 +142,9 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
public function testEntryUpdateChangeFeed()
{
- $entry = $this->insertOneFeedEntry(self::$DI['user']);
- $newfeed = $this->insertOneFeed(self::$DI['user'], "test2");
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $entry = $feed->getEntries()->first();
+ $newfeed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 2);
$params = [
"feed_id" => $newfeed->getId(),
@@ -153,7 +154,7 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
"author_mail" => "mouse",
'lst' => self::$DI['record_1']->get_serialize_key(),
];
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
+ self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$this->assertEquals("application/json", self::$DI['client']->getResponse()->headers->get("content-type"));
$pageContent = json_decode(self::$DI['client']->getResponse()->getContent());
@@ -169,8 +170,9 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
public function testEntryUpdateChangeFeedNoAccess()
{
- $entry = $this->insertOneFeedEntry(self::$DI['user']);
- $newfeed = $this->insertOneFeed(self::$DI['user_alt1'], "test2");
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $entry = $feed->getEntries()->first();
+ $newfeed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 3);
$newfeed->setCollection(self::$DI['collection_no_access']);
self::$DI['app']['EM']->persist($newfeed);
self::$DI['app']['EM']->flush();
@@ -184,13 +186,14 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
'lst' => self::$DI['record_1']->get_serialize_key(),
];
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
+ self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
$this->assertEquals(403, self::$DI['client']->getResponse()->getStatusCode());
}
public function testEntryUpdateChangeFeedInvalidFeed()
{
- $entry = $this->insertOneFeedEntry(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $entry = $feed->getEntries()->first();
$params = [
"feed_id" => 0,
@@ -201,13 +204,12 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
'lst' => self::$DI['record_1']->get_serialize_key(),
];
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
+ self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
$this->assertEquals(404, self::$DI['client']->getResponse()->getStatusCode());
}
public function testEntryUpdateNotFound()
{
-
$params = [
"feed_id" => 9999999
, "title" => "dog"
@@ -217,18 +219,14 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
, 'lst' => self::$DI['record_1']->get_serialize_key()
];
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/99999999/update/', $params);
-
- $response = self::$DI['client']->getResponse();
-
- $pageContent = json_decode($response->getContent());
-
+ self::$DI['client']->request('POST', '/prod/feeds/entry/99999999/update/', $params);
$this->assertEquals(404, self::$DI['client']->getResponse()->getStatusCode());
}
public function testEntryUpdateFailed()
{
- $entry = $this->insertOneFeedEntry(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $entry = $feed->getEntries()->first(['user']);
$params = [
"feed_id" => 9999999
@@ -239,20 +237,14 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
, 'sorted_lst' => self::$DI['record_1']->get_serialize_key() . ";" . self::$DI['record_2']->get_serialize_key() . ";12345;" . "unknow_unknow"
];
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
-
- $response = self::$DI['client']->getResponse();
-
+ self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
$this->assertEquals(404, self::$DI['client']->getResponse()->getStatusCode());
}
public function testEntryUpdateUnauthorized()
{
- /**
- * I CREATE A FEED THAT IS NOT MINE
- * */
-
- $entry = $this->insertOneFeedEntry(self::$DI['user_alt1']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 3);
+ $entry = $feed->getEntries()->first();
$params = [
"feed_id" => $entry->getFeed()->getId()
@@ -263,26 +255,18 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
, 'lst' => self::$DI['record_1']->get_serialize_key()
];
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
-
- $response = self::$DI['client']->getResponse();
-
+ self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
$this->assertEquals(403, self::$DI['client']->getResponse()->getStatusCode());;
}
public function testEntryUpdateChangeOrder()
{
- $item1 = $this->insertOneFeedItem(self::$DI['user']);
- $entry = $item1->getEntry();
- $item2 = new FeedItem();
- $item2->setEntry($entry)
- ->setRecordId(self::$DI['record_2']->get_record_id())
- ->setSbasId(self::$DI['record_2']->get_sbas_id());
- $entry->addItem($item2);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $entry = $feed->getEntries()->first();
- self::$DI['app']['EM']->persist($entry);
- self::$DI['app']['EM']->persist($item2);
- self::$DI['app']['EM']->flush();
+ $items = $entry->getItems()->toArray();
+ $item1 = array_shift($items);
+ $item2 = array_shift($items);
$ord1 = $item1->getOrd();
$ord2 = $item2->getOrd();
@@ -295,7 +279,7 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
. $item2->getId() . '_' . $item1->getOrd()
];
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
+ self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/update/', $params);
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$newItem1 = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\FeedItem')->find($item1->getId());
@@ -307,9 +291,10 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
public function testDelete()
{
- $entry = $this->insertOneFeedEntry(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $entry = $feed->getEntries()->first();
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/delete/');
+ self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/delete/');
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$this->assertEquals("application/json", self::$DI['client']->getResponse()->headers->get("content-type"));
@@ -330,47 +315,30 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
public function testDeleteNotFound()
{
-
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/9999999/delete/');
-
- $response = self::$DI['client']->getResponse();
-
- $pageContent = json_decode(self::$DI['client']->getResponse()->getContent());
-
+ self::$DI['client']->request('POST', '/prod/feeds/entry/9999999/delete/');
$this->assertEquals(404, self::$DI['client']->getResponse()->getStatusCode());
}
public function testDeleteUnauthorized()
{
- /**
- * I CREATE A FEED
- * */
- $entry = $this->insertOneFeedEntry(self::$DI['user_alt1']);
-
- $crawler = self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/delete/');
-
- $response = self::$DI['client']->getResponse();
-
- $pageContent = json_decode(self::$DI['client']->getResponse()->getContent());
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 3);
+ $entry = $feed->getEntries()->first();
+ self::$DI['client']->request('POST', '/prod/feeds/entry/' . $entry->getId() . '/delete/');
$this->assertEquals(403, self::$DI['client']->getResponse()->getStatusCode());
}
public function testRoot()
{
$crawler = self::$DI['client']->request('GET', '/prod/feeds/');
-
- $pageContent = self::$DI['client']->getResponse()->getContent();
-
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
-
$feeds = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Feed')->getAllForUser(self::$DI['app']['acl']->get(self::$DI['user']));
foreach ($feeds as $one_feed) {
$path = CssSelector::toXPath("ul.submenu a[href='/prod/feeds/feed/" . $one_feed->getId() . "/']");
- $msg = sprintf("user %s has access to feed %s", self::$DI['user']->getId(), $one_feed->getId());
+ $msg = sprintf("user %s has access to feed %s", self::$DI['user']->get_id(), $one_feed->getId());
- if ($one_feed->has_access(self::$DI['user'])) {
+ if ($one_feed->hasAccess(self::$DI['user'], self::$DI['app'])) {
$this->assertEquals(1, $crawler->filterXPath($path)->count(), $msg);
} else {
$this->fail('FeedRepository::getAllForUser should return feeds I am allowed to access');
@@ -380,13 +348,9 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
public function testGetFeed()
{
-
- $feed = $this->insertOneFeed(self::$DI['user']);
-
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
$feeds = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Feed')->getAllForUser(self::$DI['app']['acl']->get(self::$DI['user']));
-
$crawler = self::$DI['client']->request('GET', '/prod/feeds/feed/' . $feed->getId() . "/");
- $pageContent = self::$DI['client']->getResponse()->getContent();
foreach ($feeds as $one_feed) {
$path = CssSelector::toXPath("ul.submenu a[href='/prod/feeds/feed/" . $one_feed->getId() . "/']");
@@ -402,8 +366,6 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
public function testSuscribeAggregate()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
-
self::$DI['app']['feed.aggregate-link-generator'] = $this->getMockBuilder('Alchemy\Phrasea\Feed\Link\AggregateLinkGenerator')
->disableOriginalConstructor()
->getMock();
@@ -436,7 +398,7 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
public function testSuscribe()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
self::$DI['app']['feed.user-link-generator'] = $this->getMockBuilder('Alchemy\Phrasea\Feed\Link\FeedLinkGenerator')
->disableOriginalConstructor()
@@ -452,7 +414,7 @@ class FeedTest extends \PhraseanetAuthenticatedWebTestCase
->with($this->isInstanceOf('\Alchemy\Phrasea\Model\Entities\Feed'), $this->isInstanceOf('\User_Adapter'), 'rss', null, false)
->will($this->returnValue($link));
- $crawler = self::$DI['client']->request('GET', '/prod/feeds/subscribe/' . $feed->getId() . '/');
+ self::$DI['client']->request('GET', '/prod/feeds/subscribe/' . $feed->getId() . '/');
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$this->assertEquals("application/json", self::$DI['client']->getResponse()->headers->get("content-type"));
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/LazaretTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/LazaretTest.php
index d38083c6b4..edd75bd9e7 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/LazaretTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/LazaretTest.php
@@ -311,7 +311,7 @@ class LazaretTest extends \PhraseanetAuthenticatedWebTestCase
*/
public function testDenyElement()
{
- $lazaretFile = $this->insertOneLazaretFile();
+ $lazaretFile = self::$DI['lazaret_1'];
$route = sprintf('/prod/lazaret/%s/deny/', $lazaretFile->getId());
@@ -336,8 +336,6 @@ class LazaretTest extends \PhraseanetAuthenticatedWebTestCase
*/
public function testEmptyLazaret()
{
- $lazaretFile = $this->insertOneLazaretFile();
-
$route = sprintf('/prod/lazaret/empty/');
self::$DI['client']->request('POST', $route);
@@ -353,8 +351,6 @@ class LazaretTest extends \PhraseanetAuthenticatedWebTestCase
$count = $query->getSingleScalarResult();
$this->assertEquals(0, $count);
-
- $lazaretFile = null;
}
/**
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/QueryTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/QueryTest.php
index 80e557e79d..eadce7a996 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/QueryTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/QueryTest.php
@@ -31,7 +31,7 @@ class QueryTest extends \PhraseanetAuthenticatedWebTestCase
public function testQueryAnswerTrain()
{
$this->authenticate(self::$DI['app']);
- self::$DI['record_24'];
+ self::$DI['record_2'];
$options = new SearchEngineOptions();
$options->onCollections(self::$DI['app']['acl']->get(self::$DI['app']['authentication']->getUser())->get_granted_base());
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/RecordsTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/RecordsTest.php
index f2c69b2bdb..990a79e0d2 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/RecordsTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/RecordsTest.php
@@ -79,7 +79,7 @@ class RecordsTest extends \PhraseanetAuthenticatedWebTestCase
public function testGetRecordDetailResult()
{
$this->authenticate(self::$DI['app']);
- self::$DI['record_24'];
+ self::$DI['record_1'];
$options = new SearchEngineOptions();
$acl = self::$DI['app']['acl']->get(self::$DI['app']['authentication']->getUser());
@@ -145,18 +145,7 @@ class RecordsTest extends \PhraseanetAuthenticatedWebTestCase
public function testGetRecordDetailBasket()
{
$this->authenticate(self::$DI['app']);
- $basket = $this->insertOneBasket();
- $record = self::$DI['record_1'];
-
- $basketElement = new \Alchemy\Phrasea\Model\Entities\BasketElement();
- $basketElement->setBasket($basket);
- $basketElement->setRecord($record);
- $basketElement->setLastInBasket();
-
- $basket->addElement($basketElement);
-
- self::$DI['app']['EM']->persist($basket);
- self::$DI['app']['EM']->flush();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$this->XMLHTTPRequest('POST', '/prod/records/', [
'env' => 'BASK',
@@ -192,8 +181,8 @@ class RecordsTest extends \PhraseanetAuthenticatedWebTestCase
->disableOriginalConstructor()
->getMock();
- $item = $this->insertOneFeedItem(self::$DI['user']);
- $feedEntry = $item->getEntry();
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
+ $feedEntry = $feed->getEntries()->first();
$this->XMLHTTPRequest('POST', '/prod/records/', [
'env' => 'FEED',
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/StoryTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/StoryTest.php
index 7b78318c7d..11ad4a2f35 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/StoryTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/StoryTest.php
@@ -15,7 +15,7 @@ class ControllerStoryTest extends \PhraseanetAuthenticatedWebTestCase
$collection = array_shift($collections);
- $crawler = self::$DI['client']->request(
+ self::$DI['client']->request(
'POST', $route, [
'base_id' => $collection->get_base_id(),
'name' => 'test story'
@@ -32,7 +32,7 @@ class ControllerStoryTest extends \PhraseanetAuthenticatedWebTestCase
$count = $query->getSingleScalarResult();
- $this->assertEquals(1, $count);
+ $this->assertEquals(2, $count);
}
public function testRootPostJSON()
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/TooltipTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/TooltipTest.php
index 5d6de60d1f..acbdfe4e08 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/TooltipTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/TooltipTest.php
@@ -10,10 +10,7 @@ class ControllerTooltipTest extends \PhraseanetAuthenticatedWebTestCase
public function testRouteBasket()
{
-
- $basket = $this->insertOneBasket();
-
- $crawler = self::$DI['client']->request('POST', '/prod/tooltip/basket/' . $basket->getId() . '/');
+ $crawler = self::$DI['client']->request('POST', '/prod/tooltip/basket/1/');
$pageContent = self::$DI['client']->getResponse()->getContent();
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
}
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/UsrListsTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/UsrListsTest.php
index a5206e7d91..308593531e 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/UsrListsTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/UsrListsTest.php
@@ -11,13 +11,6 @@ class ControllerUsrListsTest extends \PhraseanetAuthenticatedWebTestCase
*/
public function testRouteSlash()
{
- $this->insertOneUsrListEntry(self::$DI['user'], self::$DI['user']);
- $this->insertOneUsrListEntry(self::$DI['user'], self::$DI['user_alt1']);
- $this->insertOneUsrListEntry(self::$DI['user'], self::$DI['user']);
- $this->insertOneUsrListEntry(self::$DI['user'], self::$DI['user_alt1']);
- $this->insertOneUsrListEntry(self::$DI['user_alt1'], self::$DI['user_alt1']);
- $this->insertOneUsrListEntry(self::$DI['user_alt1'], self::$DI['user_alt2']);
-
$route = '/prod/lists/all/';
self::$DI['client']->request('GET', $route, [], [], ["HTTP_CONTENT_TYPE" => "application/json", "HTTP_ACCEPT" => "application/json"]);
@@ -29,7 +22,7 @@ class ControllerUsrListsTest extends \PhraseanetAuthenticatedWebTestCase
$datas = (array) json_decode($response->getContent());
- $this->assertEquals(4, count($datas['result']));
+ $this->assertEquals(1, count($datas['result']));
}
private function checkList($list, $owners = true, $users = true)
@@ -91,7 +84,7 @@ class ControllerUsrListsTest extends \PhraseanetAuthenticatedWebTestCase
public function testGetList()
{
- $entry = $this->insertOneUsrListEntry(self::$DI['user'], self::$DI['user_alt1']);
+ $entry = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\UsrListEntry', 2);
$list_id = $entry->getList()->getId();
$route = '/prod/lists/list/' . $list_id . '/';
@@ -111,7 +104,7 @@ class ControllerUsrListsTest extends \PhraseanetAuthenticatedWebTestCase
public function testPostUpdate()
{
- $entry = $this->insertOneUsrListEntry(self::$DI['user'], self::$DI['user_alt1']);
+ $entry = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\UsrListEntry', 2);
$list_id = $entry->getList()->getId();
$route = '/prod/lists/list/' . $list_id . '/update/';
@@ -147,7 +140,7 @@ class ControllerUsrListsTest extends \PhraseanetAuthenticatedWebTestCase
public function testPostDelete()
{
- $entry = $this->insertOneUsrListEntry(self::$DI['user'], self::$DI['user_alt1']);
+ $entry = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\UsrListEntry', 2);
$list_id = $entry->getList()->getId();
$route = '/prod/lists/list/' . $list_id . '/delete/';
@@ -173,7 +166,7 @@ class ControllerUsrListsTest extends \PhraseanetAuthenticatedWebTestCase
public function testPostRemoveEntry()
{
- $entry = $this->insertOneUsrListEntry(self::$DI['user'], self::$DI['user_alt1']);
+ $entry = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\UsrListEntry', 2);
$list_id = $entry->getList()->getId();
$usr_id = $entry->getUser(self::$DI['app'])->get_id();
$entry_id = $entry->getId();
@@ -201,13 +194,13 @@ class ControllerUsrListsTest extends \PhraseanetAuthenticatedWebTestCase
public function testPostAddEntry()
{
- $list = $this->insertOneUsrList(self::$DI['user']);
+ $list = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\UsrList', 1);
- $this->assertEquals(0, $list->getEntries()->count());
+ $this->assertEquals(2, $list->getEntries()->count());
$route = '/prod/lists/list/' . $list->getId() . '/add/';
- self::$DI['client']->request('POST', $route, ['usr_ids' => [self::$DI['user']->get_id()]], [], ["HTTP_CONTENT_TYPE" => "application/json", "HTTP_ACCEPT" => "application/json"]);
+ self::$DI['client']->request('POST', $route, ['usr_ids' => [self::$DI['user_alt2']->get_id()]], [], ["HTTP_CONTENT_TYPE" => "application/json", "HTTP_ACCEPT" => "application/json"]);
$response = self::$DI['client']->getResponse();
@@ -220,17 +213,12 @@ class ControllerUsrListsTest extends \PhraseanetAuthenticatedWebTestCase
$this->assertArrayHasKey('message', $datas);
$this->assertTrue($datas['success']);
-
- $repository = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\UsrList');
-
- $list = $repository->find($list->getId());
-
- $this->assertEquals(1, $list->getEntries()->count());
+ $this->assertEquals(3, $list->getEntries()->count());
}
public function testPostShareList()
{
- $list = $this->insertOneUsrList(self::$DI['user']);
+ $list = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\UsrList', 1);
$this->assertEquals(1, $list->getOwners()->count());
@@ -277,8 +265,7 @@ class ControllerUsrListsTest extends \PhraseanetAuthenticatedWebTestCase
public function testPostUnShareList()
{
-
- $list = $this->insertOneUsrList(self::$DI['user']);
+ $list = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\UsrList', 1);
$this->assertEquals(1, $list->getOwners()->count());
@@ -328,8 +315,7 @@ class ControllerUsrListsTest extends \PhraseanetAuthenticatedWebTestCase
public function testPostUnShareFail()
{
-
- $list = $this->insertOneUsrList(self::$DI['user']);
+ $list = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\UsrList', 1);
$this->assertEquals(1, $list->getOwners()->count());
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/WorkZoneTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/WorkZoneTest.php
index ed9281f230..e3d8370668 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/WorkZoneTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/WorkZoneTest.php
@@ -9,8 +9,6 @@ class ControllerWorkZoneTest extends \PhraseanetAuthenticatedWebTestCase
public function testRootGet()
{
- $this->insertOneWZ();
-
$route = "/prod/WorkZone/";
self::$DI['client']->request('GET', $route);
@@ -33,7 +31,7 @@ class ControllerWorkZoneTest extends \PhraseanetAuthenticatedWebTestCase
public function testAttachStoryToWZ()
{
- $story = self::$DI['record_story_1'];
+ $story = self::$DI['record_story_2'];
$route = sprintf("/prod/WorkZone/attachStories/");
self::$DI['client']->request('POST', $route, ['stories' => [$story->get_serialize_key()]]);
$response = self::$DI['client']->getResponse();
@@ -42,13 +40,11 @@ class ControllerWorkZoneTest extends \PhraseanetAuthenticatedWebTestCase
$em = self::$DI['app']['EM'];
/* @var $em \Doctrine\ORM\EntityManager */
- $query = $em->createQuery(
- 'SELECT COUNT(w.id) FROM \Alchemy\Phrasea\Model\Entities\StoryWZ w'
- );
+ $query = $em->createQuery('SELECT COUNT(w.id) FROM \Alchemy\Phrasea\Model\Entities\StoryWZ w');
$count = $query->getSingleScalarResult();
- $this->assertEquals(1, $count);
+ $this->assertEquals(2, $count);
}
public function testAttachMultipleStoriesToWZ()
@@ -66,35 +62,18 @@ class ControllerWorkZoneTest extends \PhraseanetAuthenticatedWebTestCase
$em = self::$DI['app']['EM'];
/* @var $em \Doctrine\ORM\EntityManager */
- $query = $em->createQuery(
- 'SELECT COUNT(w.id) FROM \Alchemy\Phrasea\Model\Entities\StoryWZ w'
- );
-
+ $query = $em->createQuery('SELECT COUNT(w.id) FROM \Alchemy\Phrasea\Model\Entities\StoryWZ w');
$count = $query->getSingleScalarResult();
$this->assertEquals(2, $count);
-
- $query = $em->createQuery(
- 'SELECT w FROM \Alchemy\Phrasea\Model\Entities\StoryWZ w'
- );
-
- $storyWZ = $query->getResult();
- $em->remove(array_shift($storyWZ));
-
- $em->flush();
}
public function testAttachExistingStory()
{
- $story = self::$DI['record_story_1'];
+ $story = self::$DI['record_story_2'];
$route = sprintf("/prod/WorkZone/attachStories/");
- $StoryWZ = new \Alchemy\Phrasea\Model\Entities\StoryWZ();
- $StoryWZ->setUser(self::$DI['app']['authentication']->getUser());
- $StoryWZ->setRecord($story);
-
- self::$DI['app']['EM']->persist($StoryWZ);
- self::$DI['app']['EM']->flush();
+ $storyWZ = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\StoryWZ', 1);
self::$DI['client']->request('POST', $route, ['stories' => [$story->get_serialize_key()]]);
$response = self::$DI['client']->getResponse();
@@ -104,12 +83,12 @@ class ControllerWorkZoneTest extends \PhraseanetAuthenticatedWebTestCase
$em = self::$DI['app']['EM'];
/* @var $em \Doctrine\ORM\EntityManager */
$query = $em->createQuery(
- 'SELECT COUNT(w.id) FROM \Alchemy\Phrasea\Model\Entities\StoryWZ w'
+ 'SELECT COUNT(w.id) FROM \Alchemy\Phrasea\Model\Entities\StoryWZ w'
);
$count = $query->getSingleScalarResult();
- $this->assertEquals(1, $count);
+ $this->assertEquals(2, $count);
}
public function testAttachStoryToWZJson()
@@ -137,7 +116,7 @@ class ControllerWorkZoneTest extends \PhraseanetAuthenticatedWebTestCase
public function testDetachStoryFromWZ()
{
- $story = self::$DI['record_story_1'];
+ $story = self::$DI['record_story_2'];
$route = sprintf("/prod/WorkZone/detachStory/%s/%s/", $story->get_sbas_id(), $story->get_record_id());
//story not yet Attched
@@ -157,7 +136,7 @@ class ControllerWorkZoneTest extends \PhraseanetAuthenticatedWebTestCase
$count = $query->getSingleScalarResult();
- $this->assertEquals(1, $count);
+ $this->assertEquals(2, $count);
//detach
self::$DI['client']->request('POST', $route);
@@ -170,7 +149,7 @@ class ControllerWorkZoneTest extends \PhraseanetAuthenticatedWebTestCase
$count = $query->getSingleScalarResult();
- $this->assertEquals(0, $count);
+ $this->assertEquals(1, $count);
//attach
self::$DI['client']->request('POST', $attachRoute, ['stories' => [$story->get_serialize_key()]]);
@@ -199,18 +178,8 @@ class ControllerWorkZoneTest extends \PhraseanetAuthenticatedWebTestCase
public function testBrowseBasket()
{
- $basket = $this->insertOneBasket();
- self::$DI['client']->request("GET", "/prod/WorkZone/Browse/Basket/" . $basket->getId() . "/");
+ self::$DI['client']->request("GET", "/prod/WorkZone/Browse/Basket/1/");
$response = self::$DI['client']->getResponse();
$this->assertTrue($response->isOk());
}
-
- public function testDetachStoryFromWZNotFound()
- {
- $story = self::$DI['record_story_1'];
-
- $route = sprintf("/prod/WorkZone/detachStory/%s/%s/", $story->get_sbas_id(), 'unknow');
- //story not yet Attched
- }
-
}
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/RecordsRequestTest.php b/tests/Alchemy/Tests/Phrasea/Controller/RecordsRequestTest.php
index 776110ff0d..269db0340a 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/RecordsRequestTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/RecordsRequestTest.php
@@ -11,8 +11,8 @@ class RecordsRequestTest extends \PhraseanetAuthenticatedTestCase
{
$request = new Request([
'lst' => implode(';', [
- self::$DI['record_24']->get_serialize_key(),
- self::$DI['record_24']->get_serialize_key(),
+ self::$DI['record_3']->get_serialize_key(),
+ self::$DI['record_3']->get_serialize_key(),
self::$DI['record_2']->get_serialize_key(),
self::$DI['record_story_2']->get_serialize_key(),
self::$DI['record_no_access']->get_serialize_key(),
@@ -39,7 +39,7 @@ class RecordsRequestTest extends \PhraseanetAuthenticatedTestCase
$exploded = explode(';', $serialized);
$this->assertEquals(3, count($exploded));
- $this->assertContains(self::$DI['record_24']->get_serialize_key(), $exploded);
+ $this->assertContains(self::$DI['record_3']->get_serialize_key(), $exploded);
$this->assertContains(self::$DI['record_2']->get_serialize_key(), $exploded);
$this->assertContains(self::$DI['record_story_2']->get_serialize_key(), $exploded);
$this->assertNotContains(self::$DI['record_no_access']->get_serialize_key(), $exploded);
@@ -127,8 +127,8 @@ class RecordsRequestTest extends \PhraseanetAuthenticatedTestCase
{
$request = new Request([
'lst' => implode(';', [
- self::$DI['record_24']->get_serialize_key(),
- self::$DI['record_24']->get_serialize_key(),
+ self::$DI['record_3']->get_serialize_key(),
+ self::$DI['record_3']->get_serialize_key(),
self::$DI['record_2']->get_serialize_key(),
self::$DI['record_story_2']->get_serialize_key(),
self::$DI['record_no_access']->get_serialize_key(),
@@ -150,7 +150,7 @@ class RecordsRequestTest extends \PhraseanetAuthenticatedTestCase
$this->assertEquals(2, count($exploded));
$this->assertContains(self::$DI['record_2']->get_serialize_key(), $exploded);
- $this->assertContains(self::$DI['record_24']->get_serialize_key(), $exploded);
+ $this->assertContains(self::$DI['record_3']->get_serialize_key(), $exploded);
$this->assertNotContains(self::$DI['record_story_2']->get_serialize_key(), $exploded);
$this->assertNotContains(self::$DI['record_no_access']->get_serialize_key(), $exploded);
$this->assertNotContains(self::$DI['record_no_access_by_status']->get_serialize_key(), $exploded);
@@ -158,7 +158,7 @@ class RecordsRequestTest extends \PhraseanetAuthenticatedTestCase
public function testSimpleBasket()
{
- $basketElement = $this->insertOneBasketElement();
+ $basketElement = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\BasketElement', 1);
$request = new Request(['ssel' => $basketElement->getBasket()->getId()]);
$records = RecordsRequest::fromRequest(self::$DI['app'], $request);
@@ -177,34 +177,6 @@ class RecordsRequestTest extends \PhraseanetAuthenticatedTestCase
$this->assertContains($basketElement->getRecord(self::$DI['app'])->get_serialize_key(), $exploded);
}
- public function getBasket()
- {
- $elements = [
- self::$DI['record_24'],
- self::$DI['record_2'],
- self::$DI['record_no_access'],
- self::$DI['record_no_access_by_status'],
- ];
-
- $basket = new \Alchemy\Phrasea\Model\Entities\Basket();
- $basket->setName('test');
- $basket->setOwner(self::$DI['app']['authentication']->getUser());
-
- self::$DI['app']['EM']->persist($basket);
- self::$DI['app']['EM']->flush();
-
- foreach ($elements as $element) {
- $basket_element = new \Alchemy\Phrasea\Model\Entities\BasketElement();
- $basket_element->setRecord($element);
- $basket_element->setBasket($basket);
- $basket->addElement($basket_element);
- self::$DI['app']['EM']->persist($basket_element);
- self::$DI['app']['EM']->flush();
- }
-
- return $basket;
- }
-
public function testSimpleStory()
{
$story = $this->getStoryWZ();
@@ -230,7 +202,6 @@ class RecordsRequestTest extends \PhraseanetAuthenticatedTestCase
{
$story = $this->getStoryWZ();
$request = new Request(['story' => $story->getId()]);
-
$records = RecordsRequest::fromRequest(self::$DI['app'], $request, true);
$this->assertEquals(0, count($records));
@@ -269,13 +240,6 @@ class RecordsRequestTest extends \PhraseanetAuthenticatedTestCase
private function getStoryWZ()
{
- $story = new \Alchemy\Phrasea\Model\Entities\StoryWZ();
- $story->setRecord(self::$DI['record_story_2']);
- $story->setUser(self::$DI['app']['authentication']->getUser());
-
- self::$DI['app']['EM']->persist($story);
- self::$DI['app']['EM']->flush();
-
- return $story;
+ return self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\StoryWZ', 1);
}
}
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Root/RSSFeedTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Root/RSSFeedTest.php
index 581470b621..b4d28d6ed4 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/Root/RSSFeedTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/Root/RSSFeedTest.php
@@ -27,7 +27,7 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function testPublicFeedAggregated()
{
- $this->insertOneFeed(self::$DI['user'], "test", true);
+ self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 2);
self::$DI['client']->request('GET', '/feeds/aggregated/atom/');
$response = self::$DI['client']->getResponse();
@@ -72,8 +72,7 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function testPublicFeed()
{
$this->authenticate(self::$DI['app']);
-
- $feed = $this->insertOneFeed(self::$DI['user'], "test1", true);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 2);
self::$DI['client']->request('GET', "/feeds/feed/" . $feed->getId() . "/atom/");
$response = self::$DI['client']->getResponse();
@@ -86,10 +85,7 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function testUserFeedAggregated()
{
- $feed = $this->insertOneFeed(self::$DI['user']);
-
- $token = $this->insertOneAggregateToken(self::$DI['user']);
-
+ $token = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\AggregateToken', 1);
$tokenValue = $token->getValue();
$this->logout(self::$DI['app']);
@@ -105,19 +101,11 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function testUserFeed()
{
- $this->authenticate(self::$DI['app']);
-
- $feed = $this->insertOneFeed(self::$DI['user']);
-
- $id = $feed->getId();
-
- $token = $this->insertOneFeedToken($feed, self::$DI['user']);
-
+ $token = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\FeedToken', 1);
$tokenValue = $token->getValue();
-
$this->logout(self::$DI['app']);
- self::$DI['client']->request('GET', "/feeds/userfeed/$tokenValue/$id/atom/");
+ self::$DI['client']->request('GET', "/feeds/userfeed/$tokenValue/".$token->getFeed()->getId()."/atom/");
$response = self::$DI['client']->getResponse();
$this->evaluateResponse200($response);
@@ -128,16 +116,16 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function testGetFeedFormat()
{
- $feed = $this->insertOneFeed(self::$DI['user'], "test", true);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 2);
+ self::$DI['client']->request("GET", "/feeds/feed/" . $feed->getId() . "/rss/");
- $crawler = self::$DI['client']->request("GET", "/feeds/feed/" . $feed->getId() . "/rss/");
$this->assertEquals("application/rss+xml", self::$DI['client']->getResponse()->headers->get("content-type"));
$xml = self::$DI['client']->getResponse()->getContent();
$this->verifyXML($xml);
$this->verifyRSS($feed, $xml);
- $crawler = self::$DI['client']->request("GET", "/feeds/feed/" . $feed->getId() . "/atom/");
+ self::$DI['client']->request("GET", "/feeds/feed/" . $feed->getId() . "/atom/");
$this->assertEquals("application/atom+xml", self::$DI['client']->getResponse()->headers->get("content-type"));
$xml = self::$DI['client']->getResponse()->getContent();
$this->verifyXML($xml);
@@ -146,9 +134,9 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function testCooliris()
{
- $feed = $this->insertOneFeed(self::$DI['user'], "test", true);
+ self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 2);
- $crawler = self::$DI['client']->request("GET", "/feeds/cooliris/");
+ self::$DI['client']->request("GET", "/feeds/cooliris/");
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$this->assertEquals("application/rss+xml", self::$DI['client']->getResponse()->headers->get("content-type"));
$xml = self::$DI['client']->getResponse()->getContent();
@@ -157,15 +145,12 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function testAggregatedRss()
{
- $this->insertOneFeed(self::$DI['user'], "test1", true);
- $this->insertOneFeed(self::$DI['user'], "test2", true);
-
$all_feeds = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Feed')->findBy(['public' => true], ['updatedOn' => 'DESC']);
foreach ($all_feeds as $feed) {
$this->assertTrue($feed->isPublic());
}
- $crawler = self::$DI['client']->request("GET", "/feeds/aggregated/rss/");
+ self::$DI['client']->request("GET", "/feeds/aggregated/rss/");
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$this->assertEquals("application/rss+xml", self::$DI['client']->getResponse()->headers->get("content-type"));
$xml = self::$DI['client']->getResponse()->getContent();
@@ -174,15 +159,12 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function testAggregatedAtom()
{
- $this->insertOneFeed(self::$DI['user'], "test1", true);
- $this->insertOneFeed(self::$DI['user'], "test2", true);
-
$all_feeds = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Feed')->findBy(['public' => true], ['updatedOn' => 'DESC']);
foreach ($all_feeds as $feed) {
$this->assertTrue($feed->isPublic());
}
- $crawler = self::$DI['client']->request("GET", "/feeds/aggregated/atom/");
+ self::$DI['client']->request("GET", "/feeds/aggregated/atom/");
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$this->assertEquals("application/atom+xml", self::$DI['client']->getResponse()->headers->get("content-type"));
$xml = self::$DI['client']->getResponse()->getContent();
@@ -204,15 +186,15 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function testGetFeedId()
{
- $feed = $this->insertOneFeed(self::$DI['user'], "test1", true);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 2);
- $crawler = self::$DI['client']->request("GET", "/feeds/feed/" . $feed->getId() . "/rss/");
+ self::$DI['client']->request("GET", "/feeds/feed/" . $feed->getId() . "/rss/");
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$xml = self::$DI['client']->getResponse()->getContent();
$this->verifyXML($xml);
$this->verifyRSS($feed, $xml);
- $crawler = self::$DI['client']->request("GET", "/feeds/feed/" . $feed->getId() . "/atom/");
+ self::$DI['client']->request("GET", "/feeds/feed/" . $feed->getId() . "/atom/");
$this->assertTrue(self::$DI['client']->getResponse()->isOk());
$xml = self::$DI['client']->getResponse()->getContent();
$this->verifyATOM($feed, $xml);
@@ -220,8 +202,7 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function testPrivateFeedAccess()
{
- $feed = $this->insertOneFeed(self::$DI['user'], "test1", false);
-
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
self::$DI['client']->request("GET", "/feeds/feed/" . $feed->getId() . "/rss/");
$this->assertFalse(self::$DI['client']->getResponse()->isOk());
$this->assertEquals(403, self::$DI['client']->getResponse()->getStatusCode());
@@ -347,7 +328,7 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function checkRSSEntryItemsNode(\DOMXPath $xpath, FeedEntry $entry, $count)
{
- $content = $entry->getItems();
+ $content = $entry->getItems()->toArray();
$available_medium = ['image', 'audio', 'video'];
array_walk($content, $this->removeBadItems($content, $available_medium));
$media_group = $xpath->query("/rss/channel/item[" . $count . "]/media:group");
@@ -390,7 +371,7 @@ class RssFeedTest extends \PhraseanetWebTestCase
{
$current_attributes = $this->parseAttributes($node);
$is_thumbnail = false;
- $record = $entry_item->getRecord();
+ $record = $entry_item->getRecord(self::$DI['app']);
if (false !== strpos($current_attributes["url"], 'preview')) {
$ressource = $record->get_subdef('preview');
@@ -533,7 +514,7 @@ class RssFeedTest extends \PhraseanetWebTestCase
if ($field["media_field"]["name"] == $node->nodeName && $role != false) {
- if ($p4field = $entry_item->getRecord()->get_caption()->get_dc_field($field["dc_field"])) {
+ if ($p4field = $entry_item->getRecord(self::$DI['app'])->get_caption()->get_dc_field($field["dc_field"])) {
$this->assertEquals($p4field->get_serialized_values($field["separator"]), $node->nodeValue, sprintf('Asserting good value for DC %s', $field["dc_field"]));
if (sizeof($field["media_field"]["attributes"]) > 0) {
foreach ($node->attributes as $attribute) {
@@ -552,12 +533,12 @@ class RssFeedTest extends \PhraseanetWebTestCase
public function removeBadItems(Array &$item_entries, Array $available_medium)
{
$remove = function ($entry_item, $key) use (&$item_entries, $available_medium) {
- $preview_sd = $entry_item->getRecord()->get_subdef('preview');
+ $preview_sd = $entry_item->getRecord(self::$DI['app'])->get_subdef('preview');
$url_preview = $preview_sd->get_permalink();
- $thumbnail_sd = $entry_item->getRecord()->get_thumbnail();
+ $thumbnail_sd = $entry_item->getRecord(self::$DI['app'])->get_thumbnail();
$url_thumb = $thumbnail_sd->get_permalink();
- if (!in_array(strtolower($entry_item->getRecord()->get_type()), $available_medium)) {
+ if (!in_array(strtolower($entry_item->getRecord(self::$DI['app'])->get_type()), $available_medium)) {
unset($item_entries[$key]); //remove
}
diff --git a/tests/Alchemy/Tests/Phrasea/Core/Configuration/ConfigurationTest.php b/tests/Alchemy/Tests/Phrasea/Core/Configuration/ConfigurationTest.php
index 1d67b31242..7821c83e23 100644
--- a/tests/Alchemy/Tests/Phrasea/Core/Configuration/ConfigurationTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Core/Configuration/ConfigurationTest.php
@@ -280,7 +280,7 @@ class ConfigurationTest extends \PhraseanetTestCase
$compiler->expects($this->once())
->method('compile')
->with(['main' => 'tiptop'])
- ->will($this->returnValue(' "tiptop");'));
+ ->will($this->returnValue(' "tiptop"];'));
$yaml = $this->getMockBuilder('Symfony\Component\Yaml\Yaml')
->disableOriginalConstructor()
diff --git a/tests/Alchemy/Tests/Phrasea/Core/Middleware/BasketMiddlewareProviderTest.php b/tests/Alchemy/Tests/Phrasea/Core/Middleware/BasketMiddlewareProviderTest.php
index 12ef29e14c..b94d2b9bb6 100644
--- a/tests/Alchemy/Tests/Phrasea/Core/Middleware/BasketMiddlewareProviderTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Core/Middleware/BasketMiddlewareProviderTest.php
@@ -39,7 +39,7 @@ class BasketMiddlewareProviderTest extends MiddlewareProviderTestCase
$this->authenticate(self::$DI['app']);
self::$DI['app']->register(new BasketMiddlewareProvider());
$request = new Request();
- $basket = $this->insertOneBasket(self::$DI['user']);
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$request->attributes->set('basket', $basket->getId());
call_user_func(self::$DI['app']['middleware.basket.converter'], $request, self::$DI['app']);
$this->assertSame($basket, $request->attributes->get('basket'));
@@ -59,7 +59,7 @@ class BasketMiddlewareProviderTest extends MiddlewareProviderTestCase
$this->authenticate(self::$DI['app']);
self::$DI['app']->register(new BasketMiddlewareProvider());
$request = new Request();
- $basket = $this->insertOneBasket(self::$DI['user']);
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$request->attributes->set('basket', $basket);
call_user_func(self::$DI['app']['middleware.basket.user-access'], $request, self::$DI['app']);
}
@@ -69,7 +69,7 @@ class BasketMiddlewareProviderTest extends MiddlewareProviderTestCase
$this->authenticate(self::$DI['app']);
self::$DI['app']->register(new BasketMiddlewareProvider());
$request = new Request();
- $basket = $this->insertOneBasket(self::$DI['user_alt1']);
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 3);
$request->attributes->set('basket', $basket);
$this->setExpectedException('Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException', 'Current user does not have access to the basket');
call_user_func(self::$DI['app']['middleware.basket.user-access'], $request, self::$DI['app']);
diff --git a/tests/Alchemy/Tests/Phrasea/Feed/AggregateLinkGeneratorTest.php b/tests/Alchemy/Tests/Phrasea/Feed/AggregateLinkGeneratorTest.php
index 49715a54e5..5b78a6cc43 100644
--- a/tests/Alchemy/Tests/Phrasea/Feed/AggregateLinkGeneratorTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Feed/AggregateLinkGeneratorTest.php
@@ -12,8 +12,9 @@ class AggregateLinkGeneratorTest extends \PhraseanetTestCase
/**
* @dataProvider provideGenerationData
*/
- public function testGenerate($expected, $format, $user, $page, $renew, $alreadyCreated)
+ public function testGenerate($expected, $format, $page, $renew, $alreadyCreated)
{
+ $user = self::$DI['user'];
$feed = new Feed();
$feed->setTitle("title");
@@ -29,7 +30,7 @@ class AggregateLinkGeneratorTest extends \PhraseanetTestCase
->getMock();
if ($alreadyCreated) {
- $token = $this->insertOneAggregateToken($user);
+ $token = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\AggregateToken', 1);
$tokenValue = $token->getValue();
}
@@ -98,40 +99,27 @@ class AggregateLinkGeneratorTest extends \PhraseanetTestCase
->getRepository('Alchemy\Phrasea\Model\Entities\AggregateToken')
->findBy(['value' => $capture['token']]));
}
- $token = self::$DI['app']['EM']
- ->getRepository('Alchemy\Phrasea\Model\Entities\AggregateToken')
- ->findOneBy(['usrId' => $user->get_id()]);
- self::$DI['app']['EM']->remove($token);
- self::$DI['app']['EM']->flush();
}
public function provideGenerationData()
{
- $user = $this->getMockBuilder('User_Adapter')
- ->disableOriginalConstructor()
- ->getMock();
-
- $user->expects($this->any())
- ->method('get_id')
- ->will($this->returnValue(42));
-
return [
- ['doliprane', 'atom', $user, null, false, false],
- ['doliprane', 'atom', $user, null, false, true],
- ['doliprane', 'atom', $user, null, true, false],
- ['doliprane', 'atom', $user, null, true, true],
- ['doliprane', 'atom', $user, 1, false, false],
- ['doliprane', 'atom', $user, 1, false, true],
- ['doliprane', 'atom', $user, 1, true, false],
- ['doliprane', 'atom', $user, 1, true, true],
- ['doliprane', 'rss', $user, null, false, false],
- ['doliprane', 'rss', $user, null, false, true],
- ['doliprane', 'rss', $user, null, true, false],
- ['doliprane', 'rss', $user, null, true, true],
- ['doliprane', 'rss', $user, 1, false, false],
- ['doliprane', 'rss', $user, 1, false, true],
- ['doliprane', 'rss', $user, 1, true, false],
- ['doliprane', 'rss', $user, 1, true, true],
+ ['doliprane', 'atom', null, false, false],
+ ['doliprane', 'atom', null, false, true],
+ ['doliprane', 'atom', null, true, false],
+ ['doliprane', 'atom', null, true, true],
+ ['doliprane', 'atom', 1, false, false],
+ ['doliprane', 'atom', 1, false, true],
+ ['doliprane', 'atom', 1, true, false],
+ ['doliprane', 'atom', 1, true, true],
+ ['doliprane', 'rss', null, false, false],
+ ['doliprane', 'rss', null, false, true],
+ ['doliprane', 'rss', null, true, false],
+ ['doliprane', 'rss', null, true, true],
+ ['doliprane', 'rss', 1, false, false],
+ ['doliprane', 'rss', 1, false, true],
+ ['doliprane', 'rss', 1, true, false],
+ ['doliprane', 'rss', 1, true, true],
];
}
diff --git a/tests/Alchemy/Tests/Phrasea/Feed/FeedLinkGeneratorTest.php b/tests/Alchemy/Tests/Phrasea/Feed/FeedLinkGeneratorTest.php
index 914665610a..b9dd0dbae3 100644
--- a/tests/Alchemy/Tests/Phrasea/Feed/FeedLinkGeneratorTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Feed/FeedLinkGeneratorTest.php
@@ -10,17 +10,17 @@ class FeedLinkGeneratorTest extends \PhraseanetTestCase
/**
* @dataProvider provideGenerationData
*/
- public function testGenerate($expected, $format, $feed, $user, $page, $renew, $alreadyCreated)
+ public function testGenerate($expected, $format, $page, $renew, $alreadyCreated)
{
- self::$DI['app']['EM']->persist($feed);
- self::$DI['app']['EM']->flush();
+ $user = self::$DI['user'];
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
$generator = $this->getMockBuilder('Symfony\Component\Routing\Generator\UrlGenerator')
->disableOriginalConstructor()
->getMock();
if ($alreadyCreated) {
- $token = $this->insertOneFeedToken($feed, $user);
+ $token = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\FeedToken', 1);
$tokenValue = $token->getValue();
}
@@ -43,10 +43,10 @@ class FeedLinkGeneratorTest extends \PhraseanetTestCase
$this->assertSame($expected, $link->getUri());
if ($format == "atom") {
$this->assertSame("application/atom+xml", $link->getMimetype());
- $this->assertSame("Title - Atom", $link->getTitle());
+ $this->assertSame("Feed test, YOLO! - Atom", $link->getTitle());
} elseif ($format == "rss") {
$this->assertSame("application/rss+xml", $link->getMimetype());
- $this->assertSame("Title - RSS", $link->getTitle());
+ $this->assertSame("Feed test, YOLO! - RSS", $link->getTitle());
}
if ($alreadyCreated) {
@@ -93,20 +93,14 @@ class FeedLinkGeneratorTest extends \PhraseanetTestCase
->getRepository('Alchemy\Phrasea\Model\Entities\FeedToken')
->findBy(['value' => $capture['token']]));
}
- $token = self::$DI['app']['EM']
- ->getRepository('Alchemy\Phrasea\Model\Entities\FeedToken')
- ->findOneBy(['usrId' => $user->get_id(), 'feed' => $feed->getId()]);
- self::$DI['app']['EM']->remove($token);
- self::$DI['app']['EM']->flush();
}
/**
* @dataProvider provideGenerationDataPublic
*/
- public function testGeneratePublic($expected, $format, $feed, $page)
+ public function testGeneratePublic($expected, $format, $page)
{
- self::$DI['app']['EM']->persist($feed);
- self::$DI['app']['EM']->flush();
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
$generator = $this->getMockBuilder('Symfony\Component\Routing\Generator\UrlGenerator')
->disableOriginalConstructor()
@@ -131,10 +125,10 @@ class FeedLinkGeneratorTest extends \PhraseanetTestCase
$this->assertSame($expected, $link->getUri());
if ($format == "atom") {
$this->assertSame("application/atom+xml", $link->getMimetype());
- $this->assertSame("Title - Atom", $link->getTitle());
+ $this->assertSame("Feed test, YOLO! - Atom", $link->getTitle());
} elseif ($format == "rss") {
$this->assertSame("application/rss+xml", $link->getMimetype());
- $this->assertSame("Title - RSS", $link->getTitle());
+ $this->assertSame("Feed test, YOLO! - RSS", $link->getTitle());
}
if (null !== $page) {
@@ -146,47 +140,33 @@ class FeedLinkGeneratorTest extends \PhraseanetTestCase
public function provideGenerationData()
{
- $user = $this->getMockBuilder('User_Adapter')
- ->disableOriginalConstructor()
- ->getMock();
-
- $user->expects($this->any())
- ->method('get_id')
- ->will($this->returnValue(42));
-
- $feed = new \Alchemy\Phrasea\Model\Entities\Feed();
- $feed->setTitle('Title');
-
return [
- ['doliprane', 'atom', $feed, $user, null, false, false],
- ['doliprane', 'atom', $feed, $user, null, false, true],
- ['doliprane', 'atom', $feed, $user, null, true, false],
- ['doliprane', 'atom', $feed, $user, null, true, true],
- ['doliprane', 'atom', $feed, $user, 1, false, false],
- ['doliprane', 'atom', $feed, $user, 1, false, true],
- ['doliprane', 'atom', $feed, $user, 1, true, false],
- ['doliprane', 'atom', $feed, $user, 1, true, true],
- ['doliprane', 'rss', $feed, $user, null, false, false],
- ['doliprane', 'rss', $feed, $user, null, false, true],
- ['doliprane', 'rss', $feed, $user, null, true, false],
- ['doliprane', 'rss', $feed, $user, null, true, true],
- ['doliprane', 'rss', $feed, $user, 1, false, false],
- ['doliprane', 'rss', $feed, $user, 1, false, true],
- ['doliprane', 'rss', $feed, $user, 1, true, false],
- ['doliprane', 'rss', $feed, $user, 1, true, true],
+ ['doliprane', 'atom', null, false, false],
+ ['doliprane', 'atom', null, false, true],
+ ['doliprane', 'atom', null, true, false],
+ ['doliprane', 'atom', null, true, true],
+ ['doliprane', 'atom', 1, false, false],
+ ['doliprane', 'atom', 1, false, true],
+ ['doliprane', 'atom', 1, true, false],
+ ['doliprane', 'atom', 1, true, true],
+ ['doliprane', 'rss', null, false, false],
+ ['doliprane', 'rss', null, false, true],
+ ['doliprane', 'rss', null, true, false],
+ ['doliprane', 'rss', null, true, true],
+ ['doliprane', 'rss', 1, false, false],
+ ['doliprane', 'rss', 1, false, true],
+ ['doliprane', 'rss', 1, true, false],
+ ['doliprane', 'rss', 1, true, true],
];
}
public function provideGenerationDataPublic()
{
- $feed = new \Alchemy\Phrasea\Model\Entities\Feed();
- $feed->setTitle('Title');
-
return [
- ['doliprane', 'atom', $feed, null],
- ['doliprane', 'atom', $feed, 1],
- ['doliprane', 'rss', $feed, null],
- ['doliprane', 'rss', $feed, 1]
+ ['doliprane', 'atom', null],
+ ['doliprane', 'atom', 1],
+ ['doliprane', 'rss', null],
+ ['doliprane', 'rss', 1]
];
}
}
diff --git a/tests/Alchemy/Tests/Phrasea/Model/Converter/BasketConverterTest.php b/tests/Alchemy/Tests/Phrasea/Model/Converter/BasketConverterTest.php
index 122d7cf4c5..963e135fe1 100644
--- a/tests/Alchemy/Tests/Phrasea/Model/Converter/BasketConverterTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Model/Converter/BasketConverterTest.php
@@ -8,7 +8,7 @@ class BasketConverterTest extends \PhraseanetTestCase
{
public function testConvert()
{
- $basket = $this->insertOneBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$converter = new BasketConverter(self::$DI['app']['EM']);
$this->assertSame($basket, $converter->convert($basket->getId()));
diff --git a/tests/Alchemy/Tests/Phrasea/Model/Converter/TaskConverterTest.php b/tests/Alchemy/Tests/Phrasea/Model/Converter/TaskConverterTest.php
index 418c15ffda..425a688702 100644
--- a/tests/Alchemy/Tests/Phrasea/Model/Converter/TaskConverterTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Model/Converter/TaskConverterTest.php
@@ -9,16 +9,10 @@ class TaskConverterTest extends \PhraseanetTestCase
{
public function testConvert()
{
- $task = new Task();
- $task
- ->setName('task 1')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
-
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
+ $task = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
$converter = new TaskConverter(self::$DI['app']['EM']);
- $this->assertSame($task, $converter->convert($task->getId()));
+ $this->assertSame($task, $converter->convert(1));
}
/**
diff --git a/tests/Alchemy/Tests/Phrasea/Model/Entities/UserTest.php b/tests/Alchemy/Tests/Phrasea/Model/Entities/UserTest.php
index 600c8afced..3f78db8617 100644
--- a/tests/Alchemy/Tests/Phrasea/Model/Entities/UserTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Model/Entities/UserTest.php
@@ -97,7 +97,7 @@ class UserTest extends \PhraseanetTestCase
public function testIsTemplate()
{
$this->assertFalse($this->user->isTemplate());
- $template = $this->insertOneUser('login2');
+ $template = new User();
$this->user->setModelOf($template);
$this->assertTrue($this->user->isTemplate());
}
@@ -116,10 +116,10 @@ class UserTest extends \PhraseanetTestCase
public function testSetModelOf()
{
- $template = $this->insertOneUser('login');
- $user = $this->insertOneUser('login2');
+ $template = new User();
+ $user = new User();
$template->setModelOf($user);
- $this->assertEquals('login2', $template->getModelOf()->getLogin());
+ $this->assertSame($user, $template->getModelOf());
}
public function genderProvider()
diff --git a/tests/Alchemy/Tests/Phrasea/Model/Manager/UserManagerTest.php b/tests/Alchemy/Tests/Phrasea/Model/Manager/UserManagerTest.php
index f8c6bf8e71..3dfbfa7384 100644
--- a/tests/Alchemy/Tests/Phrasea/Model/Manager/UserManagerTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Model/Manager/UserManagerTest.php
@@ -28,9 +28,9 @@ class UserManagerTest extends \PhraseanetTestCase
public function testUpdateUser()
{
- $template = self::$DI['app']['manipulator.user']->createUser('template', 'password');
+ $template = self::$DI['app']['manipulator.user']->createUser('template'.uniqid(), 'password');
self::$DI['app']['model.user-manager']->update($template);
- $user = self::$DI['app']['manipulator.user']->createUser('login', 'password');
+ $user = self::$DI['app']['manipulator.user']->createUser('login'.uniqid(), 'password');
$user->setModelOf($template);
self::$DI['app']['model.user-manager']->update($user);
$this->assertNotNull($user->getPassword());
diff --git a/tests/Alchemy/Tests/Phrasea/Model/Manipulator/TaskManipulatorTest.php b/tests/Alchemy/Tests/Phrasea/Model/Manipulator/TaskManipulatorTest.php
index 204466fff9..5ed712c4d3 100644
--- a/tests/Alchemy/Tests/Phrasea/Model/Manipulator/TaskManipulatorTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Model/Manipulator/TaskManipulatorTest.php
@@ -16,13 +16,15 @@ class TaskManipulatorTest extends \PhraseanetTestCase
->with(Notifier::MESSAGE_CREATE);
$manipulator = new TaskManipulator(self::$DI['app']['EM'], $notifier, self::$DI['app']['translator']);
- $this->assertCount(0, $this->findAllTasks());
+ $this->assertCount(2, $this->findAllTasks());
$task = $manipulator->create('prout', 'bla bla', 'super settings', 0);
$this->assertEquals('prout', $task->getName());
$this->assertEquals('bla bla', $task->getJobId());
$this->assertEquals('super settings', $task->getSettings());
$this->assertEquals(0, $task->getPeriod());
- $this->assertSame([$task], $this->findAllTasks());
+ $allTasks = $this->findAllTasks();
+ $this->assertCount(3, $allTasks);
+ $this->assertContains($task, $allTasks);
return $task;
}
@@ -39,7 +41,8 @@ class TaskManipulatorTest extends \PhraseanetTestCase
$task->setName('new name');
$this->assertSame($task, $manipulator->update($task));
self::$DI['app']['EM']->clear();
- $this->assertEquals([$task], $this->findAllTasks());
+ $updated = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
+ $this->assertEquals($task, $updated);
}
public function testDelete()
@@ -52,7 +55,7 @@ class TaskManipulatorTest extends \PhraseanetTestCase
$manipulator = new TaskManipulator(self::$DI['app']['EM'], $notifier, self::$DI['app']['translator']);
$task = $this->loadTask();
$manipulator->delete($task);
- $this->assertEquals([], $this->findAllTasks());
+ $this->assertNotContains($task, $this->findAllTasks());
}
public function testStart()
@@ -121,7 +124,7 @@ class TaskManipulatorTest extends \PhraseanetTestCase
$tasks = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Task')->findAll();
$this->assertSame('EmptyCollection', $task->getJobId());
- $this->assertSame([$task], $tasks);
+ $this->assertContains($task, $tasks);
$settings = simplexml_load_string($task->getSettings());
$this->assertEquals(42, (int) $settings->bas_id);
}
@@ -132,15 +135,7 @@ class TaskManipulatorTest extends \PhraseanetTestCase
private function loadTask()
{
- $task = new Task();
- $task
- ->setName('test')
- ->setJobId('SuperSpace');
-
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
-
- return $task;
+ return self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
}
private function createNotifierMock()
diff --git a/tests/Alchemy/Tests/Phrasea/Model/Repositories/FeedItemRepositoryTest.php b/tests/Alchemy/Tests/Phrasea/Model/Repositories/FeedItemRepositoryTest.php
index 4258882647..0af59b5b3d 100644
--- a/tests/Alchemy/Tests/Phrasea/Model/Repositories/FeedItemRepositoryTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Model/Repositories/FeedItemRepositoryTest.php
@@ -2,68 +2,65 @@
namespace Alchemy\Tests\Phrasea\Model\Repositories;
+use Alchemy\Phrasea\Model\Entities\FeedItem;
+
class FeedItemRepositoryTest extends \PhraseanetTestCase
{
public function testIs_record_in_public_feedInPublicFeed()
{
- $item = $this->insertOneFeedItem(self::$DI['user'], true);
- $record = $item->getRecord(self::$DI['app']);
+ $record = self::$DI['record_7'];
$this->assertTrue(self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\FeedItem')->isRecordInPublicFeed(self::$DI['app'], $record->get_sbas_id(), $record->get_record_id()));
}
public function testIs_record_in_public_feedInPrivateFeed()
{
- $record = $this->insertOneFeedItem(self::$DI['user'], false)->getRecord(self::$DI['app']);
+ $record = self::$DI['record_2'];
$this->assertFalse(self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\FeedItem')->isRecordInPublicFeed(self::$DI['app'], $record->get_sbas_id(), $record->get_record_id()));
}
public function testLoadLatestItems()
{
- $this->insertOneFeedItem(self::$DI['user'], true, 2);
- $this->assertCount(2, self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\FeedItem')->loadLatest(self::$DI['app'], 20));
+ $this->assertCount(3, self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\FeedItem')->loadLatest(self::$DI['app'], 20));
}
public function testLoadLatestItemsLessItems()
{
- $this->insertOneFeedItem(self::$DI['user'], true, 2);
$this->assertCount(1, self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\FeedItem')->loadLatest(self::$DI['app'], 1));
}
- public function testLoadLatestItemsNoPublic()
- {
- $this->insertOneFeedItem(self::$DI['user'], false, 2);
- $this->assertCount(0, self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\FeedItem')->loadLatest(self::$DI['app'], 20));
- }
-
public function testLoadLatestWithDeletedDatabox()
{
- $record = $this->getMockBuilder('record_adapter')
- ->disableOriginalConstructor()
- ->getMock();
- $record->expects($this->any())
- ->method('get_sbas_id')
- ->will($this->returnValue(0));
- $record->expects($this->any())
- ->method('get_record_id')
- ->will($this->returnValue(self::$DI['record_1']->get_record_id()));
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 2);
+ $entry = $feed->getEntries()->first();
+ $item = new FeedItem();
+ $item->setEntry($entry)
+ ->setOrd(4)
+ ->setRecordId(self::$DI['record_1']->get_record_id())
+ ->setSbasId(0);
+ $entry->addItem($item);
- $this->insertOneFeedItem(self::$DI['user'], true, 1, $record);
- $this->assertCount(0, self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\FeedItem')->loadLatest(self::$DI['app'], 20));
- }
+ self::$DI['app']['EM']->persist($item);
- public function testLoadLatestWithDeletedRecord()
- {
- $record = $this->getMockBuilder('record_adapter')
- ->disableOriginalConstructor()
- ->getMock();
- $record->expects($this->any())
- ->method('get_sbas_id')
- ->will($this->returnValue(self::$DI['record_1']->get_sbas_id()));
- $record->expects($this->any())
- ->method('get_record_id')
- ->will($this->returnValue(0));
+ $item = new FeedItem();
+ $item->setEntry($entry)
+ ->setOrd(4)
+ ->setRecordId(0)
+ ->setSbasId(self::$DI['record_1']->get_sbas_id());
+ $entry->addItem($item);
- $this->insertOneFeedItem(self::$DI['user'], true, 1, $record);
- $this->assertCount(0, self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\FeedItem')->loadLatest(self::$DI['app'], 20));
+ self::$DI['app']['EM']->persist($item);
+
+ $item = new FeedItem();
+ $item->setEntry($entry)
+ ->setOrd(4)
+ ->setRecordId(self::$DI['record_1']->get_record_id())
+ ->setSbasId(self::$DI['record_1']->get_record_id());
+ $entry->addItem($item);
+ self::$DI['app']['EM']->persist($item);
+
+ self::$DI['app']['EM']->persist($entry);
+ self::$DI['app']['EM']->flush();
+
+ $this->assertCount(4, self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\FeedItem')->loadLatest(self::$DI['app'], 20));
}
}
diff --git a/tests/Alchemy/Tests/Phrasea/Model/Repositories/TaskRepositoryTest.php b/tests/Alchemy/Tests/Phrasea/Model/Repositories/TaskRepositoryTest.php
index 4660d4dc82..6f35d8fd0b 100644
--- a/tests/Alchemy/Tests/Phrasea/Model/Repositories/TaskRepositoryTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Model/Repositories/TaskRepositoryTest.php
@@ -8,19 +8,11 @@ class TaskRepositoryTest extends \PhraseanetTestCase
{
public function testFindActiveTask()
{
- $task1 = new Task();
- $task1
- ->setName('task 1')
- ->setStatus(Task::STATUS_STOPPED)
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
-
- $task2 = new Task();
- $task2
- ->setName('task 2')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
+ $task1 = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
+ $task1->setStatus(Task::STATUS_STOPPED);
+ $task2 = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 2);
self::$DI['app']['EM']->persist($task1);
- self::$DI['app']['EM']->persist($task2);
self::$DI['app']['EM']->flush();
$repository = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Task');
diff --git a/tests/Alchemy/Tests/Phrasea/Model/Repositories/UserRepositoryTest.php b/tests/Alchemy/Tests/Phrasea/Model/Repositories/UserRepositoryTest.php
index 403b3d49a0..6882e0196d 100644
--- a/tests/Alchemy/Tests/Phrasea/Model/Repositories/UserRepositoryTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Model/Repositories/UserRepositoryTest.php
@@ -8,78 +8,20 @@ class UserRepositoryTest extends \PhraseanetTestCase
{
public function testFindAdminsWithNoAdmins()
{
- $this->insertOneUser('login');
- $users = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\User')->findAdmins();
- $this->assertEquals(0, count($users));
- }
-
- public function testFindAdminsWithOneAdmin()
- {
- $this->insertOneUser('login', null, true);
$users = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\User')->findAdmins();
$this->assertEquals(1, count($users));
}
- public function testFindAdminsWithOneAdminButTemplate()
- {
- $user = $this->insertOneUser('login');
- $template = $this->insertOneUser('login2', null, true);
-
- $template->setModelOf($user);
-
- self::$DI['app']['EM']->persist($template);
- self::$DI['app']['EM']->flush();
-
- $users = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\User')->findAdmins();
- $this->assertEquals(0, count($users));
- }
-
- public function testFindAdminsWithOneAdminButDeleted()
- {
- $user = $this->insertOneUser('login', null, true);
- $user->setDeleted(true);
-
- self::$DI['app']['EM']->persist($user);
- self::$DI['app']['EM']->flush();
-
- $users = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\User')->findAdmins();
- $this->assertEquals(0, count($users));
- }
-
public function testFindByLogin()
{
- $this->insertOneUser('login');
- $user = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\User')->findByLogin('login');
+ $user = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\User')->findByLogin('user1');
$this->assertInstanceOf('Alchemy\Phrasea\Model\Entities\User', $user);
$this->assertNull(self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\User')->findByLogin('wrong-login'));
}
public function testFindUserByEmail()
{
- $this->insertOneUser('login', 'toto@toto.to');
- $user = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\User')->findByEmail('toto@toto.to');
+ $user = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\User')->findByEmail('user2@phraseanet.com');
$this->assertInstanceOf('Alchemy\Phrasea\Model\Entities\User', $user);
}
-
- public function testFindUserByEmailButDeleted()
- {
- $user = $this->insertOneUser('login', 'toto@toto.to');
- $user->setDeleted(true);
-
- self::$DI['app']['EM']->persist($user);
- self::$DI['app']['EM']->flush();
-
- $this->assertNull(self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\User')->findByEmail('toto@toto.to'));
- }
-
- public function testFindUserByEmailButNullEmail()
- {
- $user = $this->insertOneUser('login');
- $user->setDeleted(true);
-
- self::$DI['app']['EM']->persist($user);
- self::$DI['app']['EM']->flush();
-
- $this->assertNull(self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\User')->findByEmail('toto@toto.to'));
- }
}
diff --git a/tests/Alchemy/Tests/Phrasea/SearchEngine/SearchEngineAbstractTest.php b/tests/Alchemy/Tests/Phrasea/SearchEngine/SearchEngineAbstractTest.php
index c7e12dada4..c35bfb795f 100644
--- a/tests/Alchemy/Tests/Phrasea/SearchEngine/SearchEngineAbstractTest.php
+++ b/tests/Alchemy/Tests/Phrasea/SearchEngine/SearchEngineAbstractTest.php
@@ -19,7 +19,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
if (!self::$initialized) {
$found = false;
- foreach (self::$DI['record_24']->get_databox()->get_meta_structure()->get_elements() as $field) {
+ foreach (self::$DI['record_2']->get_databox()->get_meta_structure()->get_elements() as $field) {
if (!$field->isBusiness()) {
continue;
}
@@ -27,7 +27,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
}
if (!$found) {
- $field = \databox_field::create(self::$DI['app'], self::$DI['record_24']->get_databox(), 'testBusiness' . mt_rand(), false);
+ $field = \databox_field::create(self::$DI['app'], self::$DI['record_2']->get_databox(), 'testBusiness' . mt_rand(), false);
$field->set_business(true);
$field->save();
}
@@ -61,7 +61,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testQueryRecordId()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'recordid=' . $record->get_record_id();
self::$searchEngine->addRecord($record);
@@ -79,7 +79,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testQueryStoryId()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'storyid=' . $record->get_record_id();
self::$searchEngine->addRecord($record);
@@ -97,7 +97,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testQueryByDateMin()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot' . $record->get_record_id() . 'dateMin';
$this->editRecord($query_string, $record);
@@ -168,7 +168,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testQueryByDateMax()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot' . $record->get_record_id() . 'dateMax';
$this->editRecord($query_string, $record);
@@ -201,7 +201,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testQueryByDateRange()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot' . $record->get_record_id() . 'dateRange';
$this->editRecord($query_string, $record);
@@ -267,7 +267,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testRecordNotIndexed()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot' . $record->get_record_id() . 'defaultNotIndexed';
$this->editRecord($query_string, $record);
@@ -279,7 +279,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testAddRecord()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot' . $record->get_record_id() . 'defaultAdd';
$this->editRecord($query_string, $record);
@@ -294,7 +294,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testUpdateRecord()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
self::$searchEngine->addRecord($record);
$this->updateIndex();
@@ -341,7 +341,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
$options->setLocale($language);
self::$searchEngine->setOptions($options);
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$index_string = sprintf(
'boomboklot%dstemmed%s %s',
$record->get_record_id(),
@@ -397,7 +397,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testUpdateQueryOnField()
{
$options = $this->getDefaultOptions();
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot' . $record->get_record_id() . 'onfield';
@@ -417,7 +417,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testBusinessFieldAvailable()
{
$options = $this->getDefaultOptions();
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot' . $record->get_record_id() . 'businessAvailable';
@@ -435,7 +435,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testBusinessFieldNotAvailable()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot' . $record->get_record_id() . 'businessNotAvailable';
$this->editRecord($query_string, $record, true, true);
@@ -452,7 +452,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
{
$options = $this->getDefaultOptions();
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot' . $record->get_record_id() . 'anotherfield';
$selectedField = $this->editRecord($query_string, $record);
@@ -476,7 +476,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testUpdateNonIndexableRecord()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot_no_index_' . $record->get_record_id() . '_';
$field = $this->editRecord($query_string, $record, false);
@@ -494,7 +494,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testDeleteRecord()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot' . $record->get_record_id() . 'deleteRecord';
$field = $this->editRecord($query_string, $record);
@@ -522,7 +522,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
*/
public function testDeleteRecordWithinStemmContext($language, $word, $stemm)
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$index_string = 'boomboklot' . $record->get_record_id() . 'deleteRecordInStemmContext '.$word;
$query_string = 'boomboklot' . $record->get_record_id() . 'deleteRecordInStemmContext '.$stemm;
@@ -619,7 +619,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testStatusQueryOnOverOff()
{
$options = $this->getDefaultOptions();
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$record->set_binary_status('00000');
$query_string = 'boomboklot' . $record->get_record_id() . 'statusQueryOff';
@@ -640,7 +640,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
{
$options = $this->getDefaultOptions();
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$record->set_binary_status('10000');
$options->setStatus([4 => ['on' => [$record->get_databox()->get_sbas_id()]]]);
@@ -661,7 +661,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
{
$options = $this->getDefaultOptions();
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$record->set_binary_status('10000');
$options->setStatus([4 => ['off' => [$record->get_databox()->get_sbas_id()]]]);
@@ -682,7 +682,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
{
$options = $this->getDefaultOptions();
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$record->set_binary_status('00000');
$options->setStatus([4 => ['off' => [$record->get_databox()->get_sbas_id()]]]);
@@ -702,7 +702,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testStatusQueryUpdate()
{
$options = $this->getDefaultOptions();
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$record->set_binary_status('00000');
$query_string = 'boomboklot' . $record->get_record_id() . 'statusQueryUpdate';
@@ -730,7 +730,7 @@ abstract class SearchEngineAbstractTest extends \PhraseanetAuthenticatedTestCase
public function testExcerptFromSimpleQuery()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$query_string = 'boomboklot' . $record->get_record_id() . 'excerptSimpleQuery';
$this->editRecord($query_string, $record);
diff --git a/tests/Alchemy/Tests/Phrasea/SearchEngine/SearchEngineResultTest.php b/tests/Alchemy/Tests/Phrasea/SearchEngine/SearchEngineResultTest.php
index fe68a14ab4..d81dcbea85 100644
--- a/tests/Alchemy/Tests/Phrasea/SearchEngine/SearchEngineResultTest.php
+++ b/tests/Alchemy/Tests/Phrasea/SearchEngine/SearchEngineResultTest.php
@@ -14,7 +14,7 @@ class SearchEngineResultTest extends \PhraseanetTestCase
public function testBasic()
{
$results = new ArrayCollection([
- self::$DI['record_24']
+ self::$DI['record_2']
]);
$query = 'Gotainer';
@@ -52,7 +52,7 @@ class SearchEngineResultTest extends \PhraseanetTestCase
public function testWithOffsetStartAtZero()
{
$results = new ArrayCollection([
- self::$DI['record_24']
+ self::$DI['record_2']
]);
$query = 'Gotainer';
diff --git a/tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchEngineTest.php b/tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchEngineTest.php
index 733f619fe9..a9f7f630d4 100644
--- a/tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchEngineTest.php
+++ b/tests/Alchemy/Tests/Phrasea/SearchEngine/SphinxSearchEngineTest.php
@@ -83,7 +83,7 @@ class SphinxSearchEngineTest extends SearchEngineAbstractTest
public function tearDown()
{
if (!self::$skipped) {
- self::$searchEngine->removeRecord(self::$DI['record_24']);
+ self::$searchEngine->removeRecord(self::$DI['record_2']);
}
parent::tearDown();
@@ -113,7 +113,7 @@ class SphinxSearchEngineTest extends SearchEngineAbstractTest
*/
public function testAutocomplete()
{
- $record = self::$DI['record_24'];
+ $record = self::$DI['record_2'];
$toupdate = [];
diff --git a/tests/Alchemy/Tests/Phrasea/TaskManager/Event/FinishedJobRemoverSubscriberTest.php b/tests/Alchemy/Tests/Phrasea/TaskManager/Event/FinishedJobRemoverSubscriberTest.php
index eb45c5e777..39ff0e5f1a 100644
--- a/tests/Alchemy/Tests/Phrasea/TaskManager/Event/FinishedJobRemoverSubscriberTest.php
+++ b/tests/Alchemy/Tests/Phrasea/TaskManager/Event/FinishedJobRemoverSubscriberTest.php
@@ -10,12 +10,7 @@ class FinishedJobRemoverSubscriberTest extends \PhraseanetTestCase
{
public function testOnJobFinish()
{
- $task = new Task();
- $task
- ->setName('task')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
+ $task = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
$taskId = $task->getId();
$subscriber = new FinishedJobRemoverSubscriber(self::$DI['app']['EM']);
diff --git a/tests/Alchemy/Tests/Phrasea/TaskManager/LiveInformationTest.php b/tests/Alchemy/Tests/Phrasea/TaskManager/LiveInformationTest.php
index 455e0191e7..260775c233 100644
--- a/tests/Alchemy/Tests/Phrasea/TaskManager/LiveInformationTest.php
+++ b/tests/Alchemy/Tests/Phrasea/TaskManager/LiveInformationTest.php
@@ -49,11 +49,7 @@ class LiveInformationTest extends \PhraseanetTestCase
public function testItReturnsWorkingTaskStatus()
{
- $task = new Task();
- $task->setName('Task')->setJobId('Null');
-
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
+ $task = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
$notifier = $this->createNotifierMock();
$notifier->expects($this->once())
@@ -82,11 +78,7 @@ class LiveInformationTest extends \PhraseanetTestCase
public function testItReturnsNonWorkingTaskStatus()
{
- $task = new Task();
- $task->setName('Task')->setJobId('Null');
-
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
+ $task = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
$notifier = $this->createNotifierMock();
$notifier->expects($this->once())
diff --git a/tests/Alchemy/Tests/Phrasea/TaskManager/Log/LogFileFactoryTest.php b/tests/Alchemy/Tests/Phrasea/TaskManager/Log/LogFileFactoryTest.php
index ff76e93f5f..ce99b1f6e4 100644
--- a/tests/Alchemy/Tests/Phrasea/TaskManager/Log/LogFileFactoryTest.php
+++ b/tests/Alchemy/Tests/Phrasea/TaskManager/Log/LogFileFactoryTest.php
@@ -9,13 +9,7 @@ class LogFilefactorytest extends \PhraseanetTestCase
{
public function testForTask()
{
- $task = new Task();
- $task
- ->setName('task')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
-
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
+ $task = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
$root = __DIR__ . '/root';
$factory = new LogFilefactory($root);
diff --git a/tests/Alchemy/Tests/Phrasea/TaskManager/Log/TaskLogFileTest.php b/tests/Alchemy/Tests/Phrasea/TaskManager/Log/TaskLogFileTest.php
index 630008f32d..dec32be22b 100644
--- a/tests/Alchemy/Tests/Phrasea/TaskManager/Log/TaskLogFileTest.php
+++ b/tests/Alchemy/Tests/Phrasea/TaskManager/Log/TaskLogFileTest.php
@@ -19,13 +19,7 @@ class TaskLogFileTest extends LogFileTestCase
protected function getLogFile($root)
{
- $task = new Task();
- $task
- ->setName('task')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
-
- self::$DI['app']['EM']->persist($task);
- self::$DI['app']['EM']->flush();
+ $task = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Task', 1);
return new TaskLogFile($root, $task);
}
diff --git a/tests/Alchemy/Tests/Phrasea/TaskManager/TaskListTest.php b/tests/Alchemy/Tests/Phrasea/TaskManager/TaskListTest.php
index 541efb4709..c333d4445e 100644
--- a/tests/Alchemy/Tests/Phrasea/TaskManager/TaskListTest.php
+++ b/tests/Alchemy/Tests/Phrasea/TaskManager/TaskListTest.php
@@ -21,16 +21,6 @@ class TaskListTest extends \PhraseanetTestCase
public function getTaskList()
{
- $task1 = new Task();
- $task1
- ->setName('task 1')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
-
- $task2 = new Task();
- $task2
- ->setName('task 2')
- ->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
-
$task3 = new Task();
$task3
->setName('task 3')
@@ -38,8 +28,6 @@ class TaskListTest extends \PhraseanetTestCase
->setJobId('Alchemy\Phrasea\TaskManager\Job\NullJob');
self::$DI['app']['EM']->persist($task3);
- self::$DI['app']['EM']->persist($task1);
- self::$DI['app']['EM']->persist($task2);
self::$DI['app']['EM']->flush();
return new TaskList(self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Task'), self::$DI['app']['root.path'], '/path/to/php', '/path/to/php-conf');
@@ -68,10 +56,11 @@ class TaskListTest extends \PhraseanetTestCase
public function testGeneratedProcesses()
{
$list = $this->getTaskList();
- $n = 2; // task 3 is the first to be registered
+ $n = 1;
foreach ($list->refresh() as $task) {
$this->assertEquals("'/path/to/php' '-c' '/path/to/php-conf' '-f' '".self::$DI['app']['root.path']."/bin/console' '--' '-q' 'task-manager:task:run' '".$n."' '--listen-signal' '--max-duration' '1800' '--max-memory' '134217728'", $task->createProcess()->getCommandLine());
$n++;
}
+ $this->assertSame(3, $n);
}
}
diff --git a/tests/Alchemy/Tests/Phrasea/TaskManager/TaskManagerStatusTest.php b/tests/Alchemy/Tests/Phrasea/TaskManager/TaskManagerStatusTest.php
index bb8f9e2258..6434f61d97 100644
--- a/tests/Alchemy/Tests/Phrasea/TaskManager/TaskManagerStatusTest.php
+++ b/tests/Alchemy/Tests/Phrasea/TaskManager/TaskManagerStatusTest.php
@@ -64,11 +64,11 @@ class TaskManagerStatusTest extends \PhraseanetTestCase
public function provideConfAndStatusData()
{
return [
-// array(array(), TaskManagerStatus::STATUS_STARTED, true),
-// array(array('task-manager' => array()), TaskManagerStatus::STATUS_STARTED, true),
+ [[], TaskManagerStatus::STATUS_STARTED, true],
+ [['task-manager' => []], TaskManagerStatus::STATUS_STARTED, true],
[['task-manager' => ['status' => TaskManagerStatus::STATUS_STOPPED]], TaskManagerStatus::STATUS_STOPPED, false],
-// array(array('task-manager' => array('status' => TaskManagerStatus::STATUS_STARTED)), TaskManagerStatus::STATUS_STARTED, true),
-// array(array('task-manager' => array('status' => 'unknown')), TaskManagerStatus::STATUS_STARTED, true),
+ [['task-manager' => ['status' => TaskManagerStatus::STATUS_STARTED]], TaskManagerStatus::STATUS_STARTED, true],
+ [['task-manager' => ['status' => 'unknown']], TaskManagerStatus::STATUS_STARTED, true],
];
}
diff --git a/tests/classes/Bridge/Bridge_datas.inc b/tests/classes/Bridge/Bridge_datas.inc
index a3881c1d09..2872fcff60 100644
--- a/tests/classes/Bridge/Bridge_datas.inc
+++ b/tests/classes/Bridge/Bridge_datas.inc
@@ -183,7 +183,7 @@ class Bridge_Api_Apitest extends Bridge_Api_Abstract implements Bridge_Api_Inter
*/
public function connect()
{
- return array('auth_token' => 'kikoo', 'refresh_token' => 'kooki');
+ return ['auth_token' => 'kikoo', 'refresh_token' => 'kooki'];
}
/**
@@ -413,7 +413,7 @@ class Bridge_Api_Apitest extends Bridge_Api_Abstract implements Bridge_Api_Inter
}
- public function upload(record_adapter $record, array $options = array())
+ public function upload(record_adapter $record, array $options = [])
{
}
@@ -433,15 +433,15 @@ class Bridge_Api_Apitest extends Bridge_Api_Abstract implements Bridge_Api_Inter
if (self::$hasError) {
self::$hasError = false;
- return array('title' => 'too long');
+ return ['title' => 'too long'];
}
- return array();
+ return [];
}
public function get_upload_datas(\Symfony\Component\HttpFoundation\Request $request, record_adapter $record)
{
- return array();
+ return [];
}
public function is_multiple_upload()
@@ -457,17 +457,17 @@ class Bridge_Api_Apitest extends Bridge_Api_Abstract implements Bridge_Api_Inter
throw new \Exception('une erreur');
}
- return array();
+ return [];
} elseif (self::$hasError) {
self::$hasError = false;
- return array('title' => 'too long');
+ return ['title' => 'too long'];
}
}
public function get_update_datas(\Symfony\Component\HttpFoundation\Request $request)
{
- return array();
+ return [];
}
}
@@ -499,7 +499,7 @@ class Bridge_Api_Auth_None extends Bridge_Api_Auth_Abstract implements Bridge_Ap
return $this->settings->get('auth_token', null) !== null;
}
- public function get_auth_url(Array $supp_parameters = array())
+ public function get_auth_url(Array $supp_parameters = [])
{
return 'kameamea';
}
diff --git a/tests/classes/Doctrine/Entities/BasketTest.php b/tests/classes/Doctrine/Entities/BasketTest.php
deleted file mode 100644
index c736aa171b..0000000000
--- a/tests/classes/Doctrine/Entities/BasketTest.php
+++ /dev/null
@@ -1,163 +0,0 @@
-em = self::$DI['app']['EM'];
- $this->basket = $this->insertOneBasket();
- }
-
- public function testGetId()
- {
- $this->assertTrue(is_int($this->basket->getId()));
- $otherBasket = $this->insertOneBasket();
- $this->assertGreaterThan($this->basket->getId(), $otherBasket->getId());
- }
-
- public function testGetName()
- {
- $this->basket->setName('one name');
- $this->em->persist($this->basket);
- $this->em->flush();
- $this->assertEquals('one name', $this->basket->getName());
- }
-
- public function testGetDescription()
- {
- $this->basket->setDescription('une jolie description pour mon super panier');
- $this->em->persist($this->basket);
- $this->em->flush();
- $this->assertEquals('une jolie description pour mon super panier', $this->basket->getDescription());
- }
-
- public function testGetUsrId()
- {
- $this->basket->setUsrId(1);
- $this->em->persist($this->basket);
- $this->em->flush();
- $this->assertEquals(1, $this->basket->getUsrId());
- }
-
- public function testGetPusherId()
- {
- $this->basket->setPusherId(1);
- $this->em->persist($this->basket);
- $this->em->flush();
- $this->assertEquals(1, $this->basket->getPusherId());
- }
-
- public function testGetArchived()
- {
- $this->basket->setArchived(true);
- $this->em->persist($this->basket);
- $this->em->flush();
- $this->assertTrue($this->basket->GetArchived());
- $this->basket->setArchived(false);
- $this->em->persist($this->basket);
- $this->em->flush();
- $this->assertFalse($this->basket->GetArchived());
- }
-
- public function testGetCreated()
- {
- $date = $this->basket->getCreated();
- $this->assertInstanceOf('\DateTime', $date);
- }
-
- public function testGetUpdated()
- {
- $date = $this->basket->getUpdated();
- $this->assertInstanceOf('\DateTime', $date);
- }
-
- public function testGetElements()
- {
- $elements = $this->basket->getElements();
-
- $this->assertInstanceOf('\Doctrine\ORM\PersistentCollection', $elements);
-
- $this->assertEquals(0, $elements->count());
-
- $basketElement = new \Alchemy\Phrasea\Model\Entities\BasketElement();
-
- $basketElement->setRecord(self::$DI['record_1']);
-
- $basketElement->setBasket($this->basket);
-
- $this->em->persist($basketElement);
-
- $this->em->flush();
-
- $this->em->refresh($this->basket);
-
- $this->assertEquals(1, $this->basket->getElements()->count());
- }
-
- public function testGetPusher()
- {
- $this->assertNull($this->basket->getPusher(self::$DI['app'])); //no pusher
- $this->basket->setPusherId(self::$DI['user']->get_id());
- $this->assertInstanceOf('\User_Adapter', $this->basket->getPusher(self::$DI['app']));
- $this->assertEquals($this->basket->getPusher(self::$DI['app'])->get_id(), self::$DI['user']->get_id());
- }
-
- public function testGetOwner()
- {
- $this->assertNotNull($this->basket->getOwner(self::$DI['app'])); //no owner
- $this->basket->setUsrId(self::$DI['user']->get_id());
- $this->assertInstanceOf('\User_Adapter', $this->basket->getOwner(self::$DI['app']));
- $this->assertEquals($this->basket->getOwner(self::$DI['app'])->get_id(), self::$DI['user']->get_id());
- }
-
- public function testGetValidation()
- {
- $this->assertNull($this->basket->getValidation());
-
- $validationSession = new \Alchemy\Phrasea\Model\Entities\ValidationSession();
- $validationSession->setBasket($this->basket);
-
- $expires = new \DateTime();
- $expires->modify('+1 week');
-
- $validationSession->setExpires($expires);
-
- $validationSession->setInitiator(self::$DI['user']);
-
- $this->em->persist($validationSession);
-
- $this->em->flush();
-
- $this->em->refresh($this->basket);
-
- $this->assertInstanceOf('\Alchemy\Phrasea\Model\Entities\ValidationSession', $this->basket->getValidation());
- }
-
- public function testGetIsRead()
- {
- $this->markTestIncomplete();
- }
-
- public function testGetSize()
- {
- $this->markTestIncomplete();
- }
-
- public function hasRecord()
- {
- $this->markTestIncomplete();
- }
-}
diff --git a/tests/classes/Doctrine/Repositories/ValidationParticipantRepositoryTest.php b/tests/classes/Doctrine/Repositories/ValidationParticipantRepositoryTest.php
index 1913ef4ae7..a2652dddba 100644
--- a/tests/classes/Doctrine/Repositories/ValidationParticipantRepositoryTest.php
+++ b/tests/classes/Doctrine/Repositories/ValidationParticipantRepositoryTest.php
@@ -5,15 +5,11 @@ class ValidationParticipantRepositoryTest extends \PhraseanetAuthenticatedTestCa
public function testFindNotConfirmedAndNotRemindedParticipants()
{
- $this->insertOneValidationBasket([
- 'expires' => new \DateTime('+1 days')
- ]);
-
$em = self::$DI['app']['EM'];
- $repo = $em->getRepository('\Alchemy\Phrasea\Model\Entities\ValidationParticipant');
+ $repo = $em->getRepository('Alchemy\Phrasea\Model\Entities\ValidationParticipant');
/* @var $repo Alchemy\Phrasea\Model\Repositories\ValidationParticipantRepository */
- $expireDate = new \DateTime('+2 days');
+ $expireDate = new \DateTime('+8 days');
$participants = $repo->findNotConfirmedAndNotRemindedParticipantsByExpireDate($expireDate);
- $this->assertEquals(1, count($participants));
+ $this->assertEquals(3, count($participants));
}
}
diff --git a/tests/classes/FeedValidator.inc b/tests/classes/FeedValidator.inc
index d70731ec66..ff5c664824 100644
--- a/tests/classes/FeedValidator.inc
+++ b/tests/classes/FeedValidator.inc
@@ -132,17 +132,17 @@ class W3CFeedRawValidator extends W3CFeedValidator
*/
public function validate()
{
- $context = stream_context_create(array(
- 'http' => array(
+ $context = stream_context_create([
+ 'http' => [
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
- 'content' => http_build_query(array(
+ 'content' => http_build_query([
'rawdata' => $this->rawData,
'manual' => 1,
- 'output' => self::OUTPOUT)),
+ 'output' => self::OUTPOUT]),
'timeout' => 5,
- ),
- ));
+ ],
+ ]);
sleep(self::TIME_BETWEEN_REQUEST);
$response = @file_get_contents(self::VALIDATOR_ENDPOINT, false, $context);
if ( ! $response) {
@@ -273,7 +273,7 @@ class W3CFeedValidatorResponse
*/
public function getWarnings()
{
- $warnings = array();
+ $warnings = [];
$xPathQuery = "/env:Envelope/env:Body/m:feedvalidationresponse/m:warnings/m:warninglist/*";
$warningList = $this->DOMXpath->query($xPathQuery);
if ($warningList->length > 0) {
@@ -291,7 +291,7 @@ class W3CFeedValidatorResponse
*/
public function getErrors()
{
- $errors = array();
+ $errors = [];
$xPathQuery = "/env:Envelope/env:Body/m:feedvalidationresponse/m:errors/m:errorlist/*";
$errorList = $this->DOMXpath->query($xPathQuery);
if ($errorList->length > 0) {
@@ -324,7 +324,7 @@ class W3CFeedValidatorResponse
$ret = trim($node->nodeValue);
} else {
// Otherwise, do recursion
- $ret = array();
+ $ret = [];
foreach ($node->childNodes as $child) {
if ($child->nodeType !== XML_TEXT_NODE) {
// If there's more than one node with this node name on the
@@ -332,7 +332,7 @@ class W3CFeedValidatorResponse
if (isset($ret[$child->nodeName])) {
if ( ! is_array($ret[$child->nodeName]) || ! isset($ret[$child->nodeName][0])) {
$tmp = $ret[$child->nodeName];
- $ret[$child->nodeName] = array();
+ $ret[$child->nodeName] = [];
$ret[$child->nodeName][] = $tmp;
}
diff --git a/tests/classes/PhraseanetTestCase.php b/tests/classes/PhraseanetTestCase.php
index 3254cfda0e..a2decd91d1 100644
--- a/tests/classes/PhraseanetTestCase.php
+++ b/tests/classes/PhraseanetTestCase.php
@@ -3,26 +3,9 @@
use Alchemy\Phrasea\CLI;
use Alchemy\Phrasea\Application;
use Alchemy\Phrasea\Border\File;
-use Alchemy\Phrasea\Model\Entities\AggregateToken;
-use Alchemy\Phrasea\Model\Entities\Basket;
-use Alchemy\Phrasea\Model\Entities\BasketElement;
-use Alchemy\Phrasea\Model\Entities\Feed;
-use Alchemy\Phrasea\Model\Entities\FeedEntry;
-use Alchemy\Phrasea\Model\Entities\FeedItem;
-use Alchemy\Phrasea\Model\Entities\FeedPublisher;
-use Alchemy\Phrasea\Model\Entities\FeedToken;
use Alchemy\Phrasea\Model\Entities\LazaretFile;
-use Alchemy\Phrasea\Model\Entities\LazaretSession;
use Alchemy\Phrasea\Model\Entities\Session;
-use Alchemy\Phrasea\Model\Entities\Task;
use Alchemy\Phrasea\Model\Entities\User;
-use Alchemy\Phrasea\Model\Entities\ValidationData;
-use Alchemy\Phrasea\Model\Entities\ValidationSession;
-use Alchemy\Phrasea\Model\Entities\ValidationParticipant;
-use Alchemy\Phrasea\Model\Entities\UsrListOwner;
-use Alchemy\Phrasea\Model\Entities\UsrList;
-use Alchemy\Phrasea\Model\Entities\UsrListEntry;
-use Alchemy\Phrasea\Model\Entities\StoryWZ;
use Monolog\Logger;
use Monolog\Handler\NullHandler;
use Silex\WebTestCase;
@@ -151,8 +134,7 @@ abstract class PhraseanetTestCase extends WebTestCase
exit(1);
}
- $this->createSetOfUserTests(self::$DI['app']);
- self::setCollection(self::$DI['app']);
+ self::$fixtureIds = array_merge(self::$fixtureIds, json_decode(file_get_contents(__DIR__ .'/../fixtures.json'), true));
self::resetUsersRights(self::$DI['app'], self::$DI['user']);
self::resetUsersRights(self::$DI['app'], self::$DI['user_notAdmin']);
@@ -160,48 +142,19 @@ abstract class PhraseanetTestCase extends WebTestCase
self::$booted = true;
}
- self::$DI['record_id_resolver'] = self::$DI->protect(function ($id) {
- if (isset(self::$fixtureIds['records'][$id])) {
- return self::$fixtureIds['records'][$id];
- }
-
- self::$recordsInitialized[] = $id;
- $file = new File(self::$DI['app'], self::$DI['app']['mediavorus']->guess(__DIR__ . '/../files/' . ($id < 10 ? 'test00' . $id . '.jpg' : 'test0' . $id . '.jpg')), self::$DI['collection']);
- $record = record_adapter::createFromFile($file, self::$DI['app']);
- $record->generate_subdefs($record->get_databox(), self::$DI['app']);
- self::$fixtureIds['records'][$id] = $record->get_record_id();
-
- return self::$fixtureIds['records'][$id];
+ self::$DI['lazaret_1'] = self::$DI->share(function ($DI) {
+ return $DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\LazaretFile', self::$fixtureIds['lazaret']['lazaret_1']);
});
- self::$DI['story_id_resolver'] = self::$DI->protect(function ($id) {
- $id = 'story_'.$id;
-
- if (isset(self::$fixtureIds['records'][$id])) {
- return self::$fixtureIds['records'][$id];
- }
-
- self::$recordsInitialized[] = $id;
- $story = record_adapter::createStory(self::$DI['app'], self::$DI['collection']);
-
- $media = self::$DI['app']['mediavorus']->guess(__DIR__ . '/../files/cestlafete.jpg');
- $story->substitute_subdef('preview', $media, self::$DI['app']);
- $story->substitute_subdef('thumbnail', $media, self::$DI['app']);
-
- self::$fixtureIds['records'][$id] = $story->get_record_id();
-
- return self::$fixtureIds['records'][$id];
- });
-
- foreach (range(1, 24) as $i) {
+ foreach (range(1, 7) as $i) {
self::$DI['record_' . $i] = self::$DI->share(function ($DI) use ($i) {
- return new \record_adapter($DI['app'], self::$fixtureIds['databox']['records'], $DI['record_id_resolver']($i));
+ return new \record_adapter($DI['app'], self::$fixtureIds['databox']['records'], self::$fixtureIds['record']['record_'.$i]);
});
}
foreach (range(1, 2) as $i) {
self::$DI['record_story_' . $i] = self::$DI->share(function ($DI) use ($i) {
- return new \record_adapter($DI['app'], self::$fixtureIds['databox']['records'], $DI['story_id_resolver']($i));
+ return new \record_adapter($DI['app'], self::$fixtureIds['databox']['records'], self::$fixtureIds['record']['record_story_'.$i]);
});
}
@@ -385,510 +338,6 @@ abstract class PhraseanetTestCase extends WebTestCase
});
}
- /**
- * Inserts two tasks.
- *
- * @return Task[]
- */
- public function insertTwoTasks()
- {
- $task1 = new Task();
- $task1
- ->setName('task 1')
- ->setJobId('Null');
-
- $task2 = new Task();
- $task2
- ->setName('task 2')
- ->setJobId('Null');
-
- self::$DI['app']['EM']->persist($task1);
- self::$DI['app']['EM']->persist($task2);
- self::$DI['app']['EM']->flush();
-
- return [$task1, $task2];
- }
-
- /**
- * Inserts one basket.
- *
- * @param User_Adapter $user
- *
- * @return Basket
- */
- protected function insertOneBasket(\User_Adapter $user = null)
- {
- $basket = new Basket();
- $basket->setOwner($user ?: self::$DI['user']);
- $basket->setName('test');
- $basket->setDescription('description test');
-
- self::$DI['app']['EM']->persist($basket);
- self::$DI['app']['EM']->flush();
-
- return $basket;
- }
-
- /**
- * Inserts one feed.
- *
- * @param User_Adapter $user
- * @param string|null $title
- * @param bool $public
- *
- * @return Feed
- */
- protected function insertOneFeed(\User_Adapter $user = null , $title = null, $public = false)
- {
- $feed = new Feed();
- $publisher = new FeedPublisher();
-
- $user = $user ?: self::$DI['user'];
-
- $publisher->setUsrId($user->get_id());
- $publisher->setIsOwner(true);
- $publisher->setFeed($feed);
-
- $feed->addPublisher($publisher);
- $feed->setTitle($title ?: "test");
- $feed->setIsPublic($public);
- $feed->setSubtitle("description");
-
- self::$DI['app']['EM']->persist($feed);
- self::$DI['app']['EM']->persist($publisher);
- self::$DI['app']['EM']->flush();
-
- return $feed;
- }
-
- /**
- * Inserts one feed entry.
- *
- * @param User_Adapter $user
- * @param bool $public
- *
- * @return FeedEntry
- */
- protected function insertOneFeedEntry(\User_Adapter $user = null, $public = false)
- {
- $feed = $this->insertOneFeed($user, null, $public);
-
- $entry = new FeedEntry();
- $entry->setFeed($feed);
- $entry->setTitle("test");
- $entry->setSubtitle("description");
- $entry->setAuthorName('user');
- $entry->setAuthorEmail('user@email.com');
-
- $publisher = $feed->getPublisher($user ?: self::$DI['user']);
-
- if ($publisher !== null) {
- $entry->setPublisher($publisher);
- }
-
- $feed->addEntry($entry);
-
- self::$DI['app']['EM']->persist($entry);
- self::$DI['app']['EM']->persist($feed);
- self::$DI['app']['EM']->flush();
-
- return $entry;
- }
-
- /**
- * Inserts one feed token.
- *
- * @param Feed $feed
- * @param User_Adapter $user
- *
- * @return FeedToken
- */
- protected function insertOneFeedToken(Feed $feed, \User_Adapter $user = null)
- {
- $user = $user ?: self::$DI['user'];
-
- $token = new FeedToken();
- $token->setValue(self::$DI['app']['tokens']->generatePassword(12));
- $token->setFeed($feed);
- $token->setUsrId($user->get_id());
-
- $feed->addToken($token);
-
- self::$DI['app']['EM']->persist($token);
- self::$DI['app']['EM']->persist($feed);
- self::$DI['app']['EM']->flush();
-
- return $token;
- }
-
- /**
- * Insert one aggregate token.
- *
- * @param User_Adapter $user
- *
- * @return AggregateToken
- */
- protected function insertOneAggregateToken(\User_Adapter $user = null)
- {
- $user = $user ?: self::$DI['user'];
-
- $token = new AggregateToken();
- $token->setValue(self::$DI['app']['tokens']->generatePassword(12));
- $token->setUsrId($user->get_id());
-
- self::$DI['app']['EM']->persist($token);
- self::$DI['app']['EM']->flush();
-
- return $token;
- }
-
- /**
- * Inserts one feed item.
- *
- * @param User_Adapter $user
- * @param boolean $public
- * @param integer $qty
- * @param record_adapter $record
- *
- * @return FeedItem
- */
- protected function insertOneFeedItem(\User_Adapter $user = null, $public = false, $qty = 1, \record_adapter $record = null)
- {
- $entry = $this->insertOneFeedEntry($user, $public);
-
- for ($i = 0; $i < $qty; $i++) {
- $item = new FeedItem();
- $item->setEntry($entry);
-
- if (null === $record) {
- $actual = self::$DI['record_'.($i+1)];
- } else {
- $actual = $record;
- }
-
- $item->setRecordId($actual->get_record_id());
- $item->setSbasId($actual->get_sbas_id());
- $item->setEntry($entry);
- $entry->addItem($item);
-
- self::$DI['app']['EM']->persist($item);
- }
-
- self::$DI['app']['EM']->persist($entry);
- self::$DI['app']['EM']->flush();
-
- return $item;
- }
-
- /**
- * Inserts one lazaret file.
- *
- * @param User_Adapter $user
- *
- * @return LazaretFile
- */
- protected function insertOneLazaretFile(\User_Adapter $user = null)
- {
- $user = $user ?: self::$DI['user'];
-
- $lazaretSession = new LazaretSession();
- $lazaretSession->setUsrId($user->get_id());
- $lazaretSession->setUpdated(new \DateTime('now'));
- $lazaretSession->setCreated(new \DateTime('-1 day'));
-
- $lazaretFile = new LazaretFile();
- $lazaretFile->setOriginalName('test');
- $lazaretFile->setFilename('test.jpg');
- $lazaretFile->setThumbFilename('thumb_test.jpg');
- $lazaretFile->setBaseId(self::$DI['collection']->get_base_id());
- $lazaretFile->setSession($lazaretSession);
- $lazaretFile->setSha256('3191af52748620e0d0da50a7b8020e118bd8b8a0845120b0bb');
- $lazaretFile->setUuid('7b8ef0e3-dc8f-4b66-9e2f-bd049d175124');
- $lazaretFile->setCreated(new \DateTime('now'));
- $lazaretFile->setUpdated(new \DateTime('-1 day'));
-
- self::$DI['app']['EM']->persist($lazaretFile);
- self::$DI['app']['EM']->flush();
-
- return $lazaretFile;
-
- }
-
- /**
- * Inserts one user list owner.
- *
- * @param User_Adapter $user
- *
- * @return UsrListOwner
- */
- protected function insertOneUsrListOwner(\User_Adapter $user = null)
- {
- $user = $user ?: self::$DI['user'];
-
- $owner = new UsrListOwner();
- $owner->setRole(UsrListOwner::ROLE_ADMIN);
- $owner->setUser($user);
-
- self::$DI['app']['EM']->persist($owner);
- self::$DI['app']['EM']->flush();
-
- return $owner;
- }
-
- /**
- * Inserts one user list.
- *
- * @param User_Adapter $user
- *
- * @return UsrListOwner
- */
- protected function insertOneUsrList(\User_Adapter $user = null)
- {
- $owner = $this->insertOneUsrListOwner($user);
- $list = new UsrList();
- $list->setName('new list');
- $list->addOwner($owner);
- $owner->setList($list);
-
- self::$DI['app']['EM']->persist($list);
- self::$DI['app']['EM']->flush();
-
- return $list;
- }
-
- /**
- * Insert one user list entry.
- *
- * @param User_adapter $owner
- * @param User_adapter $user
- *
- * @return UsrListEntry
- */
- protected function insertOneUsrListEntry(\User_adapter $owner, \User_adapter $user)
- {
- $list = $this->insertOneUsrList($owner);
-
- $entry = new UsrListEntry();
- $entry->setUser($user);
- $entry->setList($list);
-
- $list->addEntrie($entry);
-
- self::$DI['app']['EM']->persist($entry);
- self::$DI['app']['EM']->persist($list);
- self::$DI['app']['EM']->flush();
-
- return $entry;
- }
-
- /**
- * Inserts five baskets.
- *
- * @return Basket[]
- */
- protected function insertFiveBasket()
- {
- $baskets = [];
-
- for ($i = 0; $i < 5; $i ++) {
- $basket = new Basket();
- $basket->setName('test ' . $i);
- $basket->setDescription('description');
- $basket->setOwner(self::$DI['user']);
-
- self::$DI['app']['EM']->persist($basket);
- $baskets[] = $basket;
- }
- self::$DI['app']['EM']->flush();
-
- return $baskets;
- }
-
- /**
- * Inserts one basket element.
- *
- * @param User_Adapter $user
- * @param record_adapter $record
- *
- * @return BasketElement
- */
- protected function insertOneBasketElement(\User_Adapter $user = null, \record_adapter $record = null)
- {
- $element = new BasketElement();
- $element->setRecord($record ?: self::$DI['record_1']);
-
- $basket = $this->insertOneBasket($user);
- $basket->addElement($element);
- $element->setBasket($basket);
-
- self::$DI['app']['EM']->persist($basket);
- self::$DI['app']['EM']->flush();
-
- return $element;
- }
-
- /**
- * Inserts one validation basket.
- *
- * @param array $parameters
- *
- * @return Basket
- */
- protected function insertOneValidationBasket(array $parameters = [])
- {
- $basketElement = $this->insertOneBasketElement();
- $basket = $basketElement->getBasket();
-
- $validation = new ValidationSession();
- $validation->setBasket($basket);
- $validation->setInitiator(self::$DI['user']);
-
- if (isset($parameters['expires']) && $parameters['expires'] instanceof \DateTime) {
- $validation->setExpires($parameters['expires']);
- }
-
- $basket->setValidation($validation);
-
- $participant = new ValidationParticipant();
- $participant->setUser(self::$DI['user']);
- $participant->setCanAgree(true);
- $participant->setCanSeeOthers(true);
-
- $validation->addParticipant($participant);
- $participant->setSession($validation);
-
- $data = new ValidationData();
- $data->setBasketElement($basketElement);
- $data->setParticipant($participant);
- $basketElement->addValidationData($data);
-
- self::$DI['app']['EM']->persist($basket);
- self::$DI['app']['EM']->persist($validation);
- self::$DI['app']['EM']->persist($participant);
- self::$DI['app']['EM']->persist($data);
- self::$DI['app']['EM']->persist($basketElement);
-
- self::$DI['app']['EM']->flush();
-
- return $basket;
- }
-
- /**
- * - Creates a new basket with current authenticated user as owner.
- * - Creates a new sessionValidation with the newly created basket.
- * - Sets current authenticated user as sessionValidation initiator.
- * - Adds 2 records as elements of the newly created basket.
- * - Adds 2 participants to the newly created sessionValidation.
- *
- * @return Basket
- */
- protected function insertOneBasketEnv()
- {
- $basket = new Basket();
- $basket->setName('test');
- $basket->setDescription('description');
- $basket->setOwner(self::$DI['user']);
-
- self::$DI['app']['EM']->persist($basket);
-
- foreach ([self::$DI['record_1'], self::$DI['record_2']] as $record) {
- $basketElement = new BasketElement();
- $basketElement->setRecord($record);
- $basketElement->setBasket($basket);
- $basket->addElement($basketElement);
- self::$DI['app']['EM']->persist($basketElement);
- }
-
- $validationSession = new ValidationSession();
- $validationSession->setBasket($basket);
- $basket->setValidation($validationSession);
- $expires = new \DateTime();
- $expires->modify('+1 week');
- $validationSession->setExpires($expires);
- $validationSession->setInitiator(self::$DI['user']);
-
- foreach ([self::$DI['user_alt1'], self::$DI['user_alt2']] as $user) {
- $validationParticipant = new ValidationParticipant();
- $validationParticipant->setUser($user);
- $validationParticipant->setSession($validationSession);
- $validationSession->addParticipant($validationParticipant);
- self::$DI['app']['EM']->persist($validationParticipant);
- }
-
- self::$DI['app']['EM']->flush();
-
- return $basket;
- }
-
- /**
- * Inserts one story.
- *
- * @param User_Adapter $user
- * @param record_adapter $record
- *
- * @return StoryWZ
- */
- protected function insertOneStory(User_Adapter $user = null, \record_adapter $record = null)
- {
- $story = new StoryWZ();
-
- $story->setRecord($record ?: self::$DI['record_1']);
- $story->setUser($user ?: self::$DI['user']);
-
- self::$DI['app']['EM']->persist($story);
- self::$DI['app']['EM']->flush();
-
- return $story;
- }
-
- /**
- * Inserts one validation session.
- *
- * @param Basket $basket
- * @param User_Adapter $user
- *
- * @return ValidationSession
- */
- protected function insertOneValidationSession(Basket $basket = null, \User_Adapter $user = null)
- {
- $validationSession = new ValidationSession();
-
- $validationSession->setBasket($basket ?: $this->insertOneBasket());
-
- $expires = new \DateTime();
- $expires->modify('+1 week');
- $validationSession->setExpires($expires);
- $validationSession->setInitiator($user ?: self::$DI['user']);
-
- self::$DI['app']['EM']->persist($validationSession);
- self::$DI['app']['EM']->flush();
-
- return $validationSession;
- }
-
- /**
- * Loads One WZ with one basket, one story and one ValidationSession with one participant.
- */
- protected function insertOneWZ()
- {
- $this->insertOneStory();
- $this->insertOneValidationSession($this->insertOneBasket(), self::$DI['user_alt1']);
- }
-
- /**
- * Inserts one user.
- *
- * @param string $login
- * @param null $email
- * @param bool $admin
- *
- * @return User
- */
- protected function insertOneUser($login, $email = null, $admin = false)
- {
- return self::$DI['app']['manipulator.user']->createUser($login, uniqid('pass'), $email, $admin);
- }
-
/**
* Calls a URI as XMLHTTP request.
*
@@ -929,42 +378,6 @@ abstract class PhraseanetTestCase extends WebTestCase
}
}
- private function createSetOfUserTests(Application $application)
- {
- if (false === $usr_id = User_Adapter::get_usr_id_from_login($application, 'test_phpunit')) {
- $user = User_Adapter::create($application, 'test_phpunit', random::generatePassword(), 'noone@example.com', false);
- $usr_id = $user->get_id();
- } else {
- $user = User_Adapter::getInstance($usr_id, $application);
- }
- $user->set_email('valid@phraseanet.com');
-
- self::$fixtureIds['user']['test_phpunit'] = $usr_id;
-
- if (false === $usr_id = User_Adapter::get_usr_id_from_login($application, 'test_phpunit_not_admin')) {
- $user = User_Adapter::create($application, 'test_phpunit_not_admin', random::generatePassword(), 'noone_not_admin@example.com', false);
- $usr_id = $user->get_id();
- } else {
- $user = User_Adapter::getInstance($usr_id, $application);
- }
-
- self::$fixtureIds['user']['test_phpunit_not_admin'] = $usr_id;
-
- if (false === $usr_id = User_Adapter::get_usr_id_from_login($application, 'test_phpunit_alt1')) {
- $user = User_Adapter::create($application, 'test_phpunit_alt1', random::generatePassword(), 'noonealt1@example.com', false);
- $usr_id = $user->get_id();
- }
-
- self::$fixtureIds['user']['test_phpunit_alt1'] = $usr_id;
-
- if (false === $usr_id = User_Adapter::get_usr_id_from_login($application, 'test_phpunit_alt2')) {
- $user = User_Adapter::create($application, 'test_phpunit_alt2', random::generatePassword(), 'noonealt2@example.com', false);
- $usr_id = $user->get_id();
- }
-
- self::$fixtureIds['user']['test_phpunit_alt2'] = $usr_id;
- }
-
/**
* Gives Bases Rights to User.
*
@@ -1022,48 +435,6 @@ abstract class PhraseanetTestCase extends WebTestCase
}
}
- /**
- * Sets self::$DI['collection'].
- */
- private static function setCollection(Application $application)
- {
- $coll = $collection_no_acces = $collection_no_acces_by_status = $db = null;
-
- foreach ($application['phraseanet.appbox']->get_databoxes() as $databox) {
- foreach ($databox->get_collections() as $collection) {
- if ($collection_no_acces instanceof collection && !$collection_no_acces_by_status) {
- $collection_no_acces_by_status = $collection;
- }
- if ($coll instanceof collection && !$collection_no_acces) {
- $collection_no_acces = $collection;
- }
- if (!$coll) {
- $coll = $collection;
- }
- if ($coll instanceof collection
- && $collection_no_acces instanceof collection
- && $collection_no_acces_by_status instanceof collection) {
- break 2;
- }
- }
- }
-
- self::$fixtureIds['databox']['records'] = $coll->get_databox()->get_sbas_id();
- self::$fixtureIds['collection']['coll'] = $coll->get_base_id();
-
- if (!$collection_no_acces instanceof collection) {
- $collection_no_acces = collection::create($application, $databox, $application['phraseanet.appbox'], 'BIBOO', self::$DI['user']);
- }
- self::$fixtureIds['collection']['coll_no_access'] = $collection_no_acces->get_base_id();
-
- if (!$collection_no_acces_by_status instanceof collection) {
- $collection_no_acces_by_status = collection::create($application, $databox, $application['phraseanet.appbox'], 'BIBOONOACCESBYSTATUS', self::$DI['user']);
- }
- self::$fixtureIds['collection']['coll_no_status'] = $collection_no_acces_by_status->get_base_id();
-
- return;
- }
-
/**
* Deletes previously created Resources.
*/
diff --git a/tests/classes/api/v1/api_v1_adapterTest.php b/tests/classes/api/v1/api_v1_adapterTest.php
index 7511d41425..576339dab0 100644
--- a/tests/classes/api/v1/api_v1_adapterTest.php
+++ b/tests/classes/api/v1/api_v1_adapterTest.php
@@ -337,17 +337,9 @@ class API_V1_adapterTest extends \PhraseanetAuthenticatedTestCase
public function testGet_record_related()
{
-
- $basketElement = $this->insertOneBasketElement();
- $basketElement->setRecord(self::$DI['record_1']);
-
- $story = \record_adapter::createStory(self::$DI['app'], self::$DI['collection']);
-
- if (!$story->hasChild(self::$DI['record_1'])) {
- $story->appendChild(self::$DI['record_1']);
- }
-
- self::$DI['app']['EM']->flush($basketElement);
+ $basketElement = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\BasketElement', 1);
+ $story = self::$DI['record_story_1'];
+ $story->appendChild(self::$DI['record_1']);
$request = new Request([], [], [], [], [], ['HTTP_Accept' => 'application/json']);
$result = $this->object->get_record_related($request, self::$DI['record_1']->get_sbas_id(), self::$DI['record_1']->get_record_id());
@@ -555,28 +547,13 @@ class API_V1_adapterTest extends \PhraseanetAuthenticatedTestCase
$response = json_decode($result->format(), true);
$this->assertArrayHasKey('basket', $response['response']);
- $em = self::$DI['app']['EM'];
-
$basket = self::$DI['app']['converter.basket']->convert($response['response']['basket']['basket_id']);
self::$DI['app']['acl.basket']->isOwner($basket, self::$DI['app']['authentication']->getUser());
-
- $em->remove($basket);
- $em->flush();
}
public function testDelete_basket()
{
- $usr_id = self::$DI['app']['authentication']->getUser()->get_id();
- $user = User_Adapter::getInstance($usr_id, self::$DI['app']);
-
- $em = self::$DI['app']['EM'];
-
- $Basket = new Alchemy\Phrasea\Model\Entities\Basket();
- $Basket->setName('Delete test');
- $Basket->setOwner($user);
-
- $em->persist($Basket);
- $em->flush();
+ $Basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$request = new Request([], [], [], [], [], ['HTTP_Accept' => 'application/json']);
$result = $this->object->delete_basket($request, $Basket);
@@ -584,20 +561,13 @@ class API_V1_adapterTest extends \PhraseanetAuthenticatedTestCase
$this->assertEquals('application/json', $result->get_content_type());
$this->assertTrue(is_array(json_decode($result->format(), true)));
- try {
- $basket = self::$DI['app']['converter.basket']->convert($Basket->getId());
- self::$DI['app']['acl.basket']->isOwner($basket, $user);
- $this->fail('An exception should have been raised');
- } catch (\Exception $e) {
-
- }
+ $this->setExpectedException('Symfony\Component\HttpKernel\Exception\NotFoundHttpException');
+ self::$DI['app']['converter.basket']->convert($Basket->getId());
}
public function testGet_basket()
{
- $usr_id = self::$DI['app']['authentication']->getUser()->get_id();
-
- $basket = $this->insertOneBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$request = new Request([], [], [], [], [], ['HTTP_Accept' => 'application/json']);
$result = $this->object->get_basket($request, $basket);
@@ -608,9 +578,7 @@ class API_V1_adapterTest extends \PhraseanetAuthenticatedTestCase
public function testSet_basket_title()
{
- $usr_id = self::$DI['app']['authentication']->getUser()->get_id();
-
- $basket = $this->insertOneBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$request = new Request([], [], ['name' => 'PROUTO'], [], [], ['HTTP_Accept' => 'application/json']);
$result = $this->object->set_basket_title($request, $basket);
@@ -627,9 +595,7 @@ class API_V1_adapterTest extends \PhraseanetAuthenticatedTestCase
public function testSet_basket_description()
{
- $usr_id = self::$DI['app']['authentication']->getUser()->get_id();
-
- $basket = $this->insertOneBasket();
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$request = new Request([], [], ['description' => 'une belle description'], [], [], ['HTTP_Accept' => 'application/json']);
$result = $this->object->set_basket_description($request, $basket);
@@ -647,7 +613,7 @@ class API_V1_adapterTest extends \PhraseanetAuthenticatedTestCase
public function testSearch_publications()
{
$request = new Request([], [], [], [], [], ['HTTP_Accept' => 'application/json']);
- $feed = $this->insertOneFeed(self::$DI['user']);
+ $feed = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Feed', 1);
$result = $this->object->search_publications($request, self::$DI['user']);
$this->checkResponseField($result, "feeds", 'array');
}
@@ -668,8 +634,6 @@ class API_V1_adapterTest extends \PhraseanetAuthenticatedTestCase
$date = new DateTime();
$request = new Request([], [], [], [], [], ['HTTP_Accept' => 'application/json']);
- $feedItem = $this->insertOneFeedItem(self::$DI['user']);
- $feed = $feedItem->getEntry()->getFeed();
$feeds = self::$DI['app']['EM']->getRepository('Alchemy\Phrasea\Model\Entities\Feed')->getAllForUser(self::$DI['app']['acl']->get(self::$DI['user']));
foreach ($feeds as $feed) {
diff --git a/tests/classes/record/adapterTest.php b/tests/classes/record/adapterTest.php
index 3b735b3940..52e6bfa7b5 100644
--- a/tests/classes/record/adapterTest.php
+++ b/tests/classes/record/adapterTest.php
@@ -37,28 +37,6 @@ class record_adapterTest extends \PhraseanetAuthenticatedTestCase
*/
public function testSetExport()
{
- $basket = new \Alchemy\Phrasea\Model\Entities\Basket();
-
- $basket->setName('hello');
- $basket->setOwner(self::$DI['user']);
- $basket->setDescription('hello');
-
- $em = self::$DI['app']['EM'];
-
- $basketElement = new \Alchemy\Phrasea\Model\Entities\BasketElement();
-
- $basketElement->setRecord(self::$DI['record_1']);
- $basketElement->setBasket($basket);
-
- $em->persist($basketElement);
-
- $basket->addElement($basketElement);
-
- $em->persist($basket);
- $em->flush();
-
- $receveid = [self::$DI['record_1']->get_serialize_key() => self::$DI['record_1']];
-
self::$DI['app']['acl']->get( self::$DI['app']['authentication']->getUser())->update_rights_to_base(self::$DI['record_1']->get_base_id(), ['order_master' => true]);
$eventManagerStub = $this->getMockBuilder('\eventsmanager_broker')
@@ -488,21 +466,7 @@ class record_adapterTest extends \PhraseanetAuthenticatedTestCase
public function testGet_container_baskets()
{
- $basket = $this->insertOneBasket();
- $this->assertInstanceOf('\Alchemy\Phrasea\Model\Entities\Basket', $basket);
-
- /* @var $basket \Alchemy\Phrasea\Model\Entities\Basket */
- $basket_element = new \Alchemy\Phrasea\Model\Entities\BasketElement();
- $basket_element->setRecord(self::$DI['record_1']);
- $basket_element->setBasket($basket);
-
- self::$DI['app']['EM']->persist($basket_element);
-
- $basket->addElement($basket_element);
- $basket = self::$DI['app']['EM']->merge($basket);
-
- self::$DI['app']['EM']->flush();
-
+ $basket = self::$DI['app']['EM']->find('Alchemy\Phrasea\Model\Entities\Basket', 1);
$found = $sselcont_id = false;
$sbas_id = self::$DI['record_1']->get_sbas_id();
diff --git a/tests/db-ref.sqlite b/tests/db-ref.sqlite
deleted file mode 100644
index 79b6b45af4..0000000000
Binary files a/tests/db-ref.sqlite and /dev/null differ
diff --git a/tests/files/cestlafete.jpg b/tests/files/cestlafete.jpg
index 7e47016c34..ad3f88bcb5 100755
Binary files a/tests/files/cestlafete.jpg and b/tests/files/cestlafete.jpg differ
diff --git a/tests/files/test002.jpg b/tests/files/test002.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test002.jpg and /dev/null differ
diff --git a/tests/files/test003.jpg b/tests/files/test003.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test003.jpg and /dev/null differ
diff --git a/tests/files/test004.jpg b/tests/files/test004.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test004.jpg and /dev/null differ
diff --git a/tests/files/test005.jpg b/tests/files/test005.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test005.jpg and /dev/null differ
diff --git a/tests/files/test006.jpg b/tests/files/test006.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test006.jpg and /dev/null differ
diff --git a/tests/files/test007.jpg b/tests/files/test007.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test007.jpg and /dev/null differ
diff --git a/tests/files/test008.jpg b/tests/files/test008.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test008.jpg and /dev/null differ
diff --git a/tests/files/test009.jpg b/tests/files/test009.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test009.jpg and /dev/null differ
diff --git a/tests/files/test010.jpg b/tests/files/test010.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test010.jpg and /dev/null differ
diff --git a/tests/files/test011.jpg b/tests/files/test011.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test011.jpg and /dev/null differ
diff --git a/tests/files/test012.jpg b/tests/files/test012.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test012.jpg and /dev/null differ
diff --git a/tests/files/test013.jpg b/tests/files/test013.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test013.jpg and /dev/null differ
diff --git a/tests/files/test014.jpg b/tests/files/test014.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test014.jpg and /dev/null differ
diff --git a/tests/files/test015.jpg b/tests/files/test015.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test015.jpg and /dev/null differ
diff --git a/tests/files/test016.jpg b/tests/files/test016.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test016.jpg and /dev/null differ
diff --git a/tests/files/test017.jpg b/tests/files/test017.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test017.jpg and /dev/null differ
diff --git a/tests/files/test018.jpg b/tests/files/test018.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test018.jpg and /dev/null differ
diff --git a/tests/files/test019.jpg b/tests/files/test019.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test019.jpg and /dev/null differ
diff --git a/tests/files/test020.jpg b/tests/files/test020.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test020.jpg and /dev/null differ
diff --git a/tests/files/test021.jpg b/tests/files/test021.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test021.jpg and /dev/null differ
diff --git a/tests/files/test022.jpg b/tests/files/test022.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test022.jpg and /dev/null differ
diff --git a/tests/files/test023.jpg b/tests/files/test023.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test023.jpg and /dev/null differ
diff --git a/tests/files/test024.jpg b/tests/files/test024.jpg
deleted file mode 100644
index 7e47016c34..0000000000
Binary files a/tests/files/test024.jpg and /dev/null differ
|