mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-18 15:33:15 +00:00
Fix Controller testes
This commit is contained in:
@@ -11,7 +11,6 @@
|
||||
|
||||
require_once __DIR__ . '/../../PhraseanetWebTestCaseAuthenticatedAbstract.class.inc';
|
||||
|
||||
use Doctrine\Common\DataFixtures\Loader;
|
||||
use Alchemy\Phrasea\Helper;
|
||||
use Alchemy\Phrasea\RouteProcessor as routeProcessor;
|
||||
|
||||
@@ -31,6 +30,7 @@ class WorkZoneTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
{
|
||||
parent::setUp();
|
||||
$this->client = $this->createClient();
|
||||
$this->purgeDatabase();
|
||||
}
|
||||
|
||||
public function createApplication()
|
||||
@@ -41,7 +41,7 @@ class WorkZoneTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
public function testRootGet()
|
||||
{
|
||||
|
||||
$this->loadOneWZ();
|
||||
$this->insertOneWZ();
|
||||
|
||||
$route = "/WorkZone/";
|
||||
|
||||
@@ -52,45 +52,4 @@ class WorkZoneTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
$this->assertEquals(200, $response->getStatusCode());
|
||||
}
|
||||
|
||||
protected function loadOneWZ()
|
||||
{
|
||||
try
|
||||
{
|
||||
$currentUser = self::$user;
|
||||
$altUser = self::$user_alt1;
|
||||
//add one basket
|
||||
$basket = new PhraseaFixture\Basket\LoadOneBasket();
|
||||
$basket->setUser($currentUser);
|
||||
//add one story
|
||||
$story = new PhraseaFixture\Story\LoadOneStory();
|
||||
$story->setUser($currentUser);
|
||||
$story->setRecord(self::$record_1);
|
||||
//add a validation session initiated by alt user
|
||||
$validationSession = new PhraseaFixture\ValidationSession\LoadOneValidationSession();
|
||||
$validationSession->setUser($altUser);
|
||||
|
||||
$loader = new Loader();
|
||||
$loader->addFixture($basket);
|
||||
$loader->addFixture($story);
|
||||
$loader->addFixture($validationSession);
|
||||
|
||||
$this->insertFixtureInDatabase($loader);
|
||||
|
||||
//add current user as participant
|
||||
$validationParticipant = new PhraseaFixture\ValidationParticipant\LoadParticipantWithSession();
|
||||
$validationParticipant->setSession($validationSession->validationSession);
|
||||
$validationParticipant->setUser($currentUser);
|
||||
|
||||
$loader = new Loader();
|
||||
$loader->addFixture($validationParticipant);
|
||||
$this->insertFixtureInDatabase($loader);
|
||||
}
|
||||
catch (\Exception $e)
|
||||
{
|
||||
$this->fail($e->getMessage());
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
@@ -11,8 +11,6 @@
|
||||
|
||||
require_once __DIR__ . '/../../PhraseanetWebTestCaseAuthenticatedAbstract.class.inc';
|
||||
|
||||
use Doctrine\Common\DataFixtures\Loader;
|
||||
use PhraseaFixture\Basket as MyFixture;
|
||||
use Alchemy\Phrasea\Helper;
|
||||
use Alchemy\Phrasea\RouteProcessor as routeProcessor;
|
||||
|
||||
@@ -26,14 +24,13 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
{
|
||||
|
||||
protected $client;
|
||||
protected $loader;
|
||||
protected static $need_records = 2;
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
$this->client = $this->createClient();
|
||||
$this->loader = new Loader();
|
||||
$this->purgeDatabase();
|
||||
}
|
||||
|
||||
public function createApplication()
|
||||
@@ -161,7 +158,7 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
$em->flush();
|
||||
|
||||
$route = sprintf(
|
||||
"/baskets/%s/%s/delete/", $basket->getId(), $basket_element->getId()
|
||||
"/baskets/%s/delete/%s/", $basket->getId(), $basket_element->getId()
|
||||
);
|
||||
|
||||
$crawler = $this->client->request('POST', $route);
|
||||
@@ -199,7 +196,7 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
$em->flush();
|
||||
|
||||
$route = sprintf(
|
||||
"/baskets/%s/%s/delete/", $basket->getId(), $basket_element->getId()
|
||||
"/baskets/%s/delete/%s/", $basket->getId(), $basket_element->getId()
|
||||
);
|
||||
|
||||
$crawler = $this->client->request(
|
||||
@@ -498,11 +495,11 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
*/
|
||||
public function testRemoveBasket()
|
||||
{
|
||||
$this->insertOneBasketEnv();
|
||||
$basket = $this->insertOneBasketEnv();
|
||||
|
||||
$em = self::$core->getEntityManager();
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$basket = $em->find("Entities\Basket", 1);
|
||||
$basket = $em->find("Entities\Basket", $basket->getId());
|
||||
|
||||
$em->remove($basket);
|
||||
|
||||
@@ -542,79 +539,4 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
$this->assertEquals(0, $count);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return \Entities\Basket
|
||||
*/
|
||||
protected function insertOneBasket()
|
||||
{
|
||||
$basketFixture = new MyFixture\LoadOneBasket();
|
||||
|
||||
$basketFixture->setUser(self::$user);
|
||||
|
||||
$this->loader->addFixture($basketFixture);
|
||||
|
||||
$this->insertFixtureInDatabase($this->loader);
|
||||
|
||||
$query = self::$core->getEntityManager()->createQuery(
|
||||
'SELECT COUNT(b.id) FROM \Entities\Basket b'
|
||||
);
|
||||
|
||||
$count = $query->getSingleScalarResult();
|
||||
|
||||
$this->assertEquals(1, $count);
|
||||
|
||||
return $basketFixture->basket;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return \Entities\Basket
|
||||
*/
|
||||
protected function insertOneBasketEnv()
|
||||
{
|
||||
$em = self::$core->getEntityManager();
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
|
||||
$basketFixture = new MyFixture\LoadOneBasketEnv();
|
||||
|
||||
$basketFixture->setUser(self::$user);
|
||||
|
||||
$basketFixture->addParticipant(self::$user_alt1);
|
||||
$basketFixture->addParticipant(self::$user_alt2);
|
||||
|
||||
$basketFixture->addBasketElement(self::$record_1);
|
||||
$basketFixture->addBasketElement(self::$record_2);
|
||||
|
||||
$this->loader->addFixture($basketFixture);
|
||||
|
||||
$this->insertFixtureInDatabase($this->loader);
|
||||
|
||||
$query = $em->createQuery(
|
||||
'SELECT COUNT(b.id) FROM \Entities\Basket b'
|
||||
);
|
||||
|
||||
$count = $query->getSingleScalarResult();
|
||||
|
||||
$this->assertEquals(1, $count);
|
||||
|
||||
$query = $em->createQuery(
|
||||
'SELECT COUNT(v.id) FROM \Entities\ValidationParticipant v'
|
||||
);
|
||||
|
||||
$count = $query->getSingleScalarResult();
|
||||
|
||||
$this->assertEquals(2, $count);
|
||||
|
||||
$query = $em->createQuery(
|
||||
'SELECT COUNT(v.id) FROM \Entities\ValidationSession v'
|
||||
);
|
||||
|
||||
$count = $query->getSingleScalarResult();
|
||||
|
||||
$this->assertEquals(1, $count);
|
||||
|
||||
return $basketFixture->basket;
|
||||
}
|
||||
|
||||
}
|
@@ -26,20 +26,19 @@ class storyTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
{
|
||||
|
||||
protected $client;
|
||||
protected $loader;
|
||||
|
||||
/**
|
||||
*
|
||||
* @var \record_adapter
|
||||
*/
|
||||
protected static $story;
|
||||
protected static $need_story = true;
|
||||
protected static $need_records = 2;
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
$this->client = $this->createClient();
|
||||
$this->loader = new Loader();
|
||||
$this->purgeDatabase();
|
||||
}
|
||||
|
||||
public function createApplication()
|
||||
@@ -47,14 +46,6 @@ class storyTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
return require __DIR__ . '/../../../Alchemy/Phrasea/Application/Prod.php';
|
||||
}
|
||||
|
||||
public static function tearDownAfterClass()
|
||||
{
|
||||
if (self::$story instanceof \record_adapter)
|
||||
{
|
||||
self::$story->delete();
|
||||
}
|
||||
}
|
||||
|
||||
public function testRootPost()
|
||||
{
|
||||
$route = "/story/";
|
||||
@@ -133,7 +124,7 @@ class storyTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
|
||||
public function testByIds()
|
||||
{
|
||||
$story = $this->getStory();
|
||||
$story = self::$story_1;
|
||||
|
||||
$route = sprintf("/story/%d/%d/", $story->get_sbas_id(), $story->get_record_id());
|
||||
|
||||
@@ -146,7 +137,7 @@ class storyTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
|
||||
public function testAddElementsToStory()
|
||||
{
|
||||
$story = $this->getStory();
|
||||
$story = self::$story_1;
|
||||
|
||||
$route = sprintf("/story/%s/%s/addElements/", $story->get_sbas_id(), $story->get_record_id());
|
||||
|
||||
@@ -163,12 +154,12 @@ class storyTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
|
||||
$this->assertEquals(302, $response->getStatusCode());
|
||||
|
||||
$this->assertEquals(2, self::$story->get_children()->get_count());
|
||||
$this->assertEquals(2, self::$story_1->get_children()->get_count());
|
||||
}
|
||||
|
||||
public function testAddElementsToStoryJSON()
|
||||
{
|
||||
$story = $this->getStory();
|
||||
$story = self::$story_1;
|
||||
|
||||
$route = sprintf("/story/%s/%s/addElements/", $story->get_sbas_id(), $story->get_record_id());
|
||||
|
||||
@@ -187,12 +178,12 @@ class storyTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
|
||||
$this->assertEquals(200, $response->getStatusCode());
|
||||
|
||||
$this->assertEquals(2, self::$story->get_children()->get_count());
|
||||
$this->assertEquals(2, self::$story_1->get_children()->get_count());
|
||||
}
|
||||
|
||||
public function testRemoveElementFromStory()
|
||||
{
|
||||
$story = $this->getStory();
|
||||
$story = self::$story_1;
|
||||
|
||||
$records = array(
|
||||
self::$record_1,
|
||||
@@ -232,13 +223,13 @@ class storyTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
}
|
||||
$n++;
|
||||
|
||||
$this->assertEquals($totalRecords - $n, self::$story->get_children()->get_count());
|
||||
$this->assertEquals($totalRecords - $n, self::$story_1->get_children()->get_count());
|
||||
}
|
||||
}
|
||||
|
||||
public function testAttachStoryToWZ()
|
||||
{
|
||||
$story = $this->getStory();
|
||||
$story = self::$story_1;
|
||||
|
||||
$goodRoute = sprintf("/story/%s/%s/attach/", $story->get_sbas_id(), $story->get_record_id());
|
||||
$badRoute = sprintf("/story/%s/%s/attach/", self::$record_1->get_base_id(), self::$record_1->get_record_id());
|
||||
@@ -297,7 +288,7 @@ class storyTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
|
||||
public function testDetachStoryFromWZ()
|
||||
{
|
||||
$story = $this->getStory();
|
||||
$story = self::$story_1;
|
||||
|
||||
$route = sprintf("/story/%s/%s/detach/", $story->get_sbas_id(), $story->get_record_id());
|
||||
//story not yet Attched
|
||||
@@ -350,43 +341,5 @@ class storyTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
||||
$this->assertEquals(200, $response->getStatusCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \record_adapter
|
||||
*/
|
||||
protected function getStory()
|
||||
{
|
||||
if (self::$story instanceof \record_adapter)
|
||||
return self::$story;
|
||||
|
||||
$collections = self::$core->getAuthenticatedUser()
|
||||
->ACL()
|
||||
->get_granted_base(array('canaddrecord'));
|
||||
|
||||
$collection = array_shift($collections);
|
||||
|
||||
$crawler = $this->client->request(
|
||||
'POST', '/story/', array(
|
||||
'base_id' => $collection->get_base_id(),
|
||||
'name' => 'test story',
|
||||
'description' => 'test_description'), array(), array(
|
||||
"HTTP_ACCEPT" => "application/json")
|
||||
);
|
||||
|
||||
$response = $this->client->getResponse();
|
||||
|
||||
$response = json_decode($response->getContent());
|
||||
|
||||
if (!$response->success)
|
||||
{
|
||||
$this->fail("Cannot create story");
|
||||
}
|
||||
|
||||
$sbasId = $response->story->sbas_id;
|
||||
$recordId = $response->story->record_id;
|
||||
|
||||
self::$story = new \record_adapter($sbasId, $recordId);
|
||||
|
||||
return self::$story;
|
||||
}
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user