mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-18 15:33:15 +00:00
Fix workzone tests
This commit is contained in:
@@ -4,6 +4,7 @@ require_once __DIR__ . '/../../../../PhraseanetWebTestCaseAuthenticatedAbstract.
|
|||||||
|
|
||||||
class ControllerWorkZoneTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
class ControllerWorkZoneTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
||||||
{
|
{
|
||||||
|
|
||||||
protected $client;
|
protected $client;
|
||||||
|
|
||||||
public function testRootGet()
|
public function testRootGet()
|
||||||
@@ -19,9 +20,8 @@ class ControllerWorkZoneTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
$this->assertEquals(200, $response->getStatusCode());
|
$this->assertEquals(200, $response->getStatusCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testAttachStoryToWZ()
|
public function testAttachStoryToWZBadRequest()
|
||||||
{
|
{
|
||||||
$story = self::$DI['record_story_1'];
|
|
||||||
/* @var $story \Record_Adapter */
|
/* @var $story \Record_Adapter */
|
||||||
$route = sprintf("/prod/WorkZone/attachStories/");
|
$route = sprintf("/prod/WorkZone/attachStories/");
|
||||||
|
|
||||||
@@ -30,7 +30,12 @@ class ControllerWorkZoneTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
|
|
||||||
$this->assertEquals(400, $response->getStatusCode());
|
$this->assertEquals(400, $response->getStatusCode());
|
||||||
$this->assertFalse($response->isOk());
|
$this->assertFalse($response->isOk());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAttachStoryToWZ()
|
||||||
|
{
|
||||||
|
$story = self::$DI['record_story_1'];
|
||||||
|
$route = sprintf("/prod/WorkZone/attachStories/");
|
||||||
self::$DI['client']->request('POST', $route, array('stories' => array($story->get_serialize_key())));
|
self::$DI['client']->request('POST', $route, array('stories' => array($story->get_serialize_key())));
|
||||||
$response = self::$DI['client']->getResponse();
|
$response = self::$DI['client']->getResponse();
|
||||||
|
|
||||||
@@ -39,13 +44,18 @@ class ControllerWorkZoneTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
$em = self::$DI['app']['EM'];
|
$em = self::$DI['app']['EM'];
|
||||||
/* @var $em \Doctrine\ORM\EntityManager */
|
/* @var $em \Doctrine\ORM\EntityManager */
|
||||||
$query = $em->createQuery(
|
$query = $em->createQuery(
|
||||||
'SELECT COUNT(w.id) FROM \Entities\StoryWZ w'
|
'SELECT COUNT(w.id) FROM \Entities\StoryWZ w'
|
||||||
);
|
);
|
||||||
|
|
||||||
$count = $query->getSingleScalarResult();
|
$count = $query->getSingleScalarResult();
|
||||||
|
|
||||||
$this->assertEquals(1, $count);
|
$this->assertEquals(1, $count);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAttachMultipleStoriesToWZ()
|
||||||
|
{
|
||||||
|
$story = self::$DI['record_story_1'];
|
||||||
|
$route = sprintf("/prod/WorkZone/attachStories/");
|
||||||
$story2 = self::$DI['record_story_2'];
|
$story2 = self::$DI['record_story_2'];
|
||||||
|
|
||||||
$stories = array($story->get_serialize_key(), $story2->get_serialize_key());
|
$stories = array($story->get_serialize_key(), $story2->get_serialize_key());
|
||||||
@@ -55,12 +65,10 @@ class ControllerWorkZoneTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
|
|
||||||
$this->assertEquals(302, $response->getStatusCode());
|
$this->assertEquals(302, $response->getStatusCode());
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$em = self::$DI['app']['EM'];
|
$em = self::$DI['app']['EM'];
|
||||||
/* @var $em \Doctrine\ORM\EntityManager */
|
/* @var $em \Doctrine\ORM\EntityManager */
|
||||||
$query = $em->createQuery(
|
$query = $em->createQuery(
|
||||||
'SELECT COUNT(w.id) FROM \Entities\StoryWZ w'
|
'SELECT COUNT(w.id) FROM \Entities\StoryWZ w'
|
||||||
);
|
);
|
||||||
|
|
||||||
$count = $query->getSingleScalarResult();
|
$count = $query->getSingleScalarResult();
|
||||||
@@ -68,28 +76,60 @@ class ControllerWorkZoneTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
$this->assertEquals(2, $count);
|
$this->assertEquals(2, $count);
|
||||||
|
|
||||||
$query = $em->createQuery(
|
$query = $em->createQuery(
|
||||||
'SELECT w FROM \Entities\StoryWZ w'
|
'SELECT w FROM \Entities\StoryWZ w'
|
||||||
);
|
);
|
||||||
|
|
||||||
$storyWZ = $query->getResult();
|
$storyWZ = $query->getResult();
|
||||||
$em->remove(array_shift($storyWZ));
|
$em->remove(array_shift($storyWZ));
|
||||||
|
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAttachExistingStory()
|
||||||
|
{
|
||||||
|
$story = self::$DI['record_story_1'];
|
||||||
|
$route = sprintf("/prod/WorkZone/attachStories/");
|
||||||
|
|
||||||
//attach JSON
|
$StoryWZ = new \Entities\StoryWZ();
|
||||||
self::$DI['client']->request('POST', $route, array('stories' => array($story->get_serialize_key())), array(), array(
|
$StoryWZ->setUser(self::$DI['app']['phraseanet.user']);
|
||||||
"HTTP_ACCEPT" => "application/json")
|
$StoryWZ->setRecord($story);
|
||||||
);
|
|
||||||
|
self::$DI['app']['EM']->persist($StoryWZ);
|
||||||
|
self::$DI['app']['EM']->flush();
|
||||||
|
|
||||||
|
self::$DI['client']->request('POST', $route, array('stories' => array($story->get_serialize_key())));
|
||||||
|
$response = self::$DI['client']->getResponse();
|
||||||
|
|
||||||
|
$this->assertEquals(302, $response->getStatusCode());
|
||||||
|
|
||||||
|
$em = self::$DI['app']['EM'];
|
||||||
|
/* @var $em \Doctrine\ORM\EntityManager */
|
||||||
|
$query = $em->createQuery(
|
||||||
|
'SELECT COUNT(w.id) FROM \Entities\StoryWZ w'
|
||||||
|
);
|
||||||
|
|
||||||
|
$count = $query->getSingleScalarResult();
|
||||||
|
|
||||||
|
$this->assertEquals(1, $count);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAttachStoryToWZJson()
|
||||||
|
{
|
||||||
|
$story = self::$DI['record_story_1'];
|
||||||
|
$route = sprintf("/prod/WorkZone/attachStories/");
|
||||||
|
//attach JSON
|
||||||
|
self::$DI['client']->request('POST', $route, array('stories' => array($story->get_serialize_key())), array(), array(
|
||||||
|
"HTTP_ACCEPT" => "application/json")
|
||||||
|
);
|
||||||
|
|
||||||
$response = self::$DI['client']->getResponse();
|
$response = self::$DI['client']->getResponse();
|
||||||
|
|
||||||
$this->assertEquals(200, $response->getStatusCode());
|
$this->assertEquals(200, $response->getStatusCode());
|
||||||
|
|
||||||
//test already attached
|
//test already attached
|
||||||
self::$DI['client']->request('POST', $route, array('stories' => array($story->get_serialize_key())), array(), array(
|
self::$DI['client']->request('POST', $route, array('stories' => array($story->get_serialize_key())), array(), array(
|
||||||
"HTTP_ACCEPT" => "application/json")
|
"HTTP_ACCEPT" => "application/json")
|
||||||
);
|
);
|
||||||
|
|
||||||
$response = self::$DI['client']->getResponse();
|
$response = self::$DI['client']->getResponse();
|
||||||
|
|
||||||
@@ -114,7 +154,7 @@ class ControllerWorkZoneTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
self::$DI['client']->request('POST', $attachRoute, array('stories' => array($story->get_serialize_key())));
|
self::$DI['client']->request('POST', $attachRoute, array('stories' => array($story->get_serialize_key())));
|
||||||
|
|
||||||
$query = self::$DI['app']['EM']->createQuery(
|
$query = self::$DI['app']['EM']->createQuery(
|
||||||
'SELECT COUNT(w.id) FROM \Entities\StoryWZ w'
|
'SELECT COUNT(w.id) FROM \Entities\StoryWZ w'
|
||||||
);
|
);
|
||||||
|
|
||||||
$count = $query->getSingleScalarResult();
|
$count = $query->getSingleScalarResult();
|
||||||
@@ -128,7 +168,7 @@ class ControllerWorkZoneTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
$this->assertEquals(302, $response->getStatusCode());
|
$this->assertEquals(302, $response->getStatusCode());
|
||||||
|
|
||||||
$query = self::$DI['app']['EM']->createQuery(
|
$query = self::$DI['app']['EM']->createQuery(
|
||||||
'SELECT COUNT(w.id) FROM \Entities\StoryWZ w'
|
'SELECT COUNT(w.id) FROM \Entities\StoryWZ w'
|
||||||
);
|
);
|
||||||
|
|
||||||
$count = $query->getSingleScalarResult();
|
$count = $query->getSingleScalarResult();
|
||||||
@@ -175,4 +215,5 @@ class ControllerWorkZoneTest extends \PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
$route = sprintf("/prod/WorkZone/detachStory/%s/%s/", $story->get_sbas_id(), 'unknow');
|
$route = sprintf("/prod/WorkZone/detachStory/%s/%s/", $story->get_sbas_id(), 'unknow');
|
||||||
//story not yet Attched
|
//story not yet Attched
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user