mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-12 20:43:25 +00:00
enhance basket tests
This commit is contained in:
@@ -27,6 +27,7 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
|
|
||||||
protected $client;
|
protected $client;
|
||||||
protected $loader;
|
protected $loader;
|
||||||
|
protected static $need_records = 2;
|
||||||
|
|
||||||
public function setUp()
|
public function setUp()
|
||||||
{
|
{
|
||||||
@@ -44,7 +45,11 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
{
|
{
|
||||||
$route = '/baskets/';
|
$route = '/baskets/';
|
||||||
|
|
||||||
$this->client->request('POST', $route, array('name' => 'panier', 'desc' => 'mon beau panier'));
|
$this->client->request(
|
||||||
|
'POST', $route, array(
|
||||||
|
'name' => 'panier',
|
||||||
|
'desc' => 'mon beau panier')
|
||||||
|
);
|
||||||
|
|
||||||
$response = $this->client->getResponse();
|
$response = $this->client->getResponse();
|
||||||
|
|
||||||
@@ -59,6 +64,32 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
$this->assertEquals(302, $response->getStatusCode());
|
$this->assertEquals(302, $response->getStatusCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testRootPostJSON()
|
||||||
|
{
|
||||||
|
$route = '/baskets/';
|
||||||
|
|
||||||
|
$this->client->request(
|
||||||
|
'POST', $route, array(
|
||||||
|
'name' => 'panier',
|
||||||
|
'desc' => 'mon beau panier')
|
||||||
|
, array(), array(
|
||||||
|
"HTTP_ACCEPT" => "application/json"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$response = $this->client->getResponse();
|
||||||
|
|
||||||
|
$query = self::$core->getEntityManager()->createQuery(
|
||||||
|
'SELECT COUNT(b.id) FROM \Entities\Basket b'
|
||||||
|
);
|
||||||
|
|
||||||
|
$count = $query->getSingleScalarResult();
|
||||||
|
|
||||||
|
$this->assertEquals(1, $count);
|
||||||
|
|
||||||
|
$this->assertEquals(200, $response->getStatusCode());
|
||||||
|
}
|
||||||
|
|
||||||
public function testCreateGet()
|
public function testCreateGet()
|
||||||
{
|
{
|
||||||
$route = '/baskets/create/';
|
$route = '/baskets/create/';
|
||||||
@@ -69,9 +100,14 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
|
|
||||||
$this->assertEquals(200, $response->getStatusCode());
|
$this->assertEquals(200, $response->getStatusCode());
|
||||||
|
|
||||||
$this->assertEquals($crawler->filter("form[action='/prod/baskets/']")->count(), 1);
|
$filter = "form[action='/prod/baskets/']";
|
||||||
$this->assertEquals($crawler->filter("form[action='/prod/baskets/'] input[name='name']")->count(), 1);
|
$this->assertEquals(1, $crawler->filter($filter)->count());
|
||||||
$this->assertEquals($crawler->filter("form[action='/prod/baskets/'] textarea[name='description']")->count(), 1);
|
|
||||||
|
$filter = "form[action='/prod/baskets/'] input[name='name']";
|
||||||
|
$this->assertEquals(1, $crawler->filter($filter)->count());
|
||||||
|
|
||||||
|
$filter = "form[action='/prod/baskets/'] textarea[name='description']";
|
||||||
|
$this->assertEquals(1, $crawler->filter($filter)->count());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testBasketGet()
|
public function testBasketGet()
|
||||||
@@ -87,6 +123,82 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
$this->assertEquals(200, $response->getStatusCode());
|
$this->assertEquals(200, $response->getStatusCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testBasketDeleteElementPost()
|
||||||
|
{
|
||||||
|
/* @var $em \Doctrine\ORM\EntityManager */
|
||||||
|
$em = self::$core->getEntityManager();
|
||||||
|
|
||||||
|
$basket = $this->insertOneBasket();
|
||||||
|
|
||||||
|
$record = self::$record_1;
|
||||||
|
|
||||||
|
$basket_element = new \Entities\BasketElement();
|
||||||
|
$basket_element->setBasket($basket);
|
||||||
|
$basket_element->setRecord($record);
|
||||||
|
$basket_element->setLastInBasket();
|
||||||
|
|
||||||
|
$basket->addBasketElement($basket_element);
|
||||||
|
|
||||||
|
$em->persist($basket);
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
$route = sprintf(
|
||||||
|
"/baskets/%s/%s/delete/", $basket->getId(), $basket_element->getId()
|
||||||
|
);
|
||||||
|
|
||||||
|
$crawler = $this->client->request('POST', $route);
|
||||||
|
|
||||||
|
$response = $this->client->getResponse();
|
||||||
|
|
||||||
|
$em = self::$core->getEntityManager();
|
||||||
|
/* @var $em \Doctrine\ORM\EntityManager */
|
||||||
|
|
||||||
|
$em->refresh($basket);
|
||||||
|
|
||||||
|
$this->assertEquals(302, $response->getStatusCode());
|
||||||
|
|
||||||
|
$this->assertEquals(0, $basket->getElements()->count());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testBasketDeleteElementPostJSON()
|
||||||
|
{
|
||||||
|
/* @var $em \Doctrine\ORM\EntityManager */
|
||||||
|
$em = self::$core->getEntityManager();
|
||||||
|
|
||||||
|
$basket = $this->insertOneBasket();
|
||||||
|
|
||||||
|
$record = self::$record_1;
|
||||||
|
|
||||||
|
$basket_element = new \Entities\BasketElement();
|
||||||
|
$basket_element->setBasket($basket);
|
||||||
|
$basket_element->setRecord($record);
|
||||||
|
$basket_element->setLastInBasket();
|
||||||
|
|
||||||
|
$basket->addBasketElement($basket_element);
|
||||||
|
|
||||||
|
$em->persist($basket);
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
$route = sprintf(
|
||||||
|
"/baskets/%s/%s/delete/", $basket->getId(), $basket_element->getId()
|
||||||
|
);
|
||||||
|
|
||||||
|
$crawler = $this->client->request(
|
||||||
|
'POST', $route, array(), array(), array(
|
||||||
|
"HTTP_ACCEPT" => "application/json")
|
||||||
|
);
|
||||||
|
|
||||||
|
$response = $this->client->getResponse();
|
||||||
|
|
||||||
|
$em->refresh($basket);
|
||||||
|
|
||||||
|
$this->assertEquals(200, $response->getStatusCode());
|
||||||
|
|
||||||
|
$this->assertEquals(0, $basket->getElements()->count());
|
||||||
|
}
|
||||||
|
|
||||||
public function testBasketDeletePost()
|
public function testBasketDeletePost()
|
||||||
{
|
{
|
||||||
$basket = $this->insertOneBasket();
|
$basket = $this->insertOneBasket();
|
||||||
@@ -114,7 +226,10 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
|
|
||||||
$route = sprintf('/baskets/%s/delete/', $basket->getId());
|
$route = sprintf('/baskets/%s/delete/', $basket->getId());
|
||||||
|
|
||||||
$crawler = $this->client->request('POST', $route, array(), array(), array("HTTP_ACCEPT" => "application/json"));
|
$crawler = $this->client->request(
|
||||||
|
'POST', $route, array(), array(), array(
|
||||||
|
"HTTP_ACCEPT" => "application/json")
|
||||||
|
);
|
||||||
|
|
||||||
$this->client->getRequest()->setRequestFormat('json');
|
$this->client->getRequest()->setRequestFormat('json');
|
||||||
|
|
||||||
@@ -137,7 +252,11 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
|
|
||||||
$route = sprintf('/baskets/%s/update/', $basket->getId());
|
$route = sprintf('/baskets/%s/update/', $basket->getId());
|
||||||
|
|
||||||
$crawler = $this->client->request('POST', $route, array('name' => 'new_name', 'description' => 'new_desc'));
|
$crawler = $this->client->request(
|
||||||
|
'POST', $route, array(
|
||||||
|
'name' => 'new_name',
|
||||||
|
'description' => 'new_desc')
|
||||||
|
);
|
||||||
|
|
||||||
$response = $this->client->getResponse();
|
$response = $this->client->getResponse();
|
||||||
|
|
||||||
@@ -157,7 +276,13 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
|
|
||||||
$route = sprintf('/baskets/%s/update/', $basket->getId());
|
$route = sprintf('/baskets/%s/update/', $basket->getId());
|
||||||
|
|
||||||
$crawler = $this->client->request('POST', $route, array('name' => 'new_name', 'description' => 'new_desc'), array(), array("HTTP_ACCEPT" => "application/json"));
|
$crawler = $this->client->request(
|
||||||
|
'POST', $route, array(
|
||||||
|
'name' => 'new_name',
|
||||||
|
'description' => 'new_desc'
|
||||||
|
), array(), array(
|
||||||
|
"HTTP_ACCEPT" => "application/json")
|
||||||
|
);
|
||||||
|
|
||||||
$response = $this->client->getResponse();
|
$response = $this->client->getResponse();
|
||||||
|
|
||||||
@@ -177,13 +302,18 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
|
|
||||||
$route = sprintf('/baskets/%s/update/', $basket->getId());
|
$route = sprintf('/baskets/%s/update/', $basket->getId());
|
||||||
|
|
||||||
$crawler = $this->client->request('GET', $route, array('name' => 'new_name', 'description' => 'new_desc'));
|
$crawler = $this->client->request(
|
||||||
|
'GET', $route, array(
|
||||||
|
'name' => 'new_name',
|
||||||
|
'description' => 'new_desc')
|
||||||
|
);
|
||||||
|
|
||||||
$response = $this->client->getResponse();
|
$response = $this->client->getResponse();
|
||||||
|
|
||||||
$this->assertEquals(200, $response->getStatusCode());
|
$this->assertEquals(200, $response->getStatusCode());
|
||||||
|
|
||||||
$this->assertEquals($crawler->filter("form[action='/prod/baskets/" . $basket->getId() . "/update/']")->count(), 1);
|
$filter = "form[action='/prod/baskets/" . $basket->getId() . "/update/']";
|
||||||
|
$this->assertEquals($crawler->filter($filter)->count(), 1);
|
||||||
|
|
||||||
$node = $crawler
|
$node = $crawler
|
||||||
->filter('input[name=name]');
|
->filter('input[name=name]');
|
||||||
@@ -231,7 +361,13 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
|
|
||||||
$route = sprintf('/baskets/%s/archive/', $basket->getId());
|
$route = sprintf('/baskets/%s/archive/', $basket->getId());
|
||||||
|
|
||||||
$crawler = $this->client->request('POST', $route, array('archive' => '1'), array(), array("HTTP_ACCEPT" => "application/json"));
|
$crawler = $this->client->request(
|
||||||
|
'POST', $route, array(
|
||||||
|
'archive' => '1'
|
||||||
|
), array(), array(
|
||||||
|
"HTTP_ACCEPT" => "application/json"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
$response = $this->client->getResponse();
|
$response = $this->client->getResponse();
|
||||||
|
|
||||||
@@ -241,7 +377,13 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
|
|
||||||
$this->assertTrue($basket->getArchived());
|
$this->assertTrue($basket->getArchived());
|
||||||
|
|
||||||
$crawler = $this->client->request('POST', $route, array('archive' => '0'), array(), array("HTTP_ACCEPT" => "application/json"));
|
$crawler = $this->client->request(
|
||||||
|
'POST', $route, array(
|
||||||
|
'archive' => '0'
|
||||||
|
), array(), array(
|
||||||
|
"HTTP_ACCEPT" => "application/json"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
$response = $this->client->getResponse();
|
$response = $this->client->getResponse();
|
||||||
|
|
||||||
@@ -260,17 +402,56 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
|
|
||||||
$route = sprintf('/baskets/%s/addElements/', $basket->getId());
|
$route = sprintf('/baskets/%s/addElements/', $basket->getId());
|
||||||
|
|
||||||
$records = array(self::$record_1->get_serialize_key(), self::$record_2->get_serialize_key());
|
$records = array(
|
||||||
|
self::$record_1->get_serialize_key(),
|
||||||
|
self::$record_2->get_serialize_key()
|
||||||
|
);
|
||||||
|
|
||||||
$lst = implode(';', $records);
|
$lst = implode(';', $records);
|
||||||
|
|
||||||
$crawler = $this->client->request('POST', $route, array('lst' => $lst), array(), array("HTTP_ACCEPT" => "application/json"));
|
$crawler = $this->client->request('POST', $route, array('lst' => $lst));
|
||||||
|
|
||||||
$response = $this->client->getResponse();
|
$response = $this->client->getResponse();
|
||||||
|
|
||||||
$this->assertEquals(302, $response->getStatusCode());
|
$this->assertEquals(302, $response->getStatusCode());
|
||||||
|
|
||||||
$basket->getElements();
|
$em = self::$core->getEntityManager();
|
||||||
|
/* @var $em \Doctrine\ORM\EntityManager */
|
||||||
|
$basket = $em->getRepository('Entities\Basket')->find($basket->getId());
|
||||||
|
|
||||||
|
$this->assertEquals(2, $basket->getElements()->count());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testAddElementPostJSON()
|
||||||
|
{
|
||||||
|
$basket = $this->insertOneBasket();
|
||||||
|
|
||||||
|
$route = sprintf('/baskets/%s/addElements/', $basket->getId());
|
||||||
|
|
||||||
|
$records = array(
|
||||||
|
self::$record_1->get_serialize_key(),
|
||||||
|
self::$record_2->get_serialize_key()
|
||||||
|
);
|
||||||
|
|
||||||
|
$lst = implode(';', $records);
|
||||||
|
|
||||||
|
$crawler = $this->client->request(
|
||||||
|
'POST', $route, array(
|
||||||
|
'lst' => $lst
|
||||||
|
), array(), array(
|
||||||
|
"HTTP_ACCEPT" => "application/json"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$response = $this->client->getResponse();
|
||||||
|
|
||||||
|
$em = self::$core->getEntityManager();
|
||||||
|
/* @var $em \Doctrine\ORM\EntityManager */
|
||||||
|
$basket = $em->getRepository('Entities\Basket')->find($basket->getId());
|
||||||
|
|
||||||
|
$this->assertEquals(200, $response->getStatusCode());
|
||||||
|
|
||||||
|
$this->assertEquals(2, $basket->getElements()->count());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -279,7 +460,9 @@ class basketTest extends PhraseanetWebTestCaseAuthenticatedAbstract
|
|||||||
*/
|
*/
|
||||||
protected function insertOneBasket()
|
protected function insertOneBasket()
|
||||||
{
|
{
|
||||||
$basketFixture = new MyFixture\Root(self::$user);
|
$basketFixture = new MyFixture\LoadOneBasket();
|
||||||
|
|
||||||
|
$basketFixture->setUser(self::$user);
|
||||||
|
|
||||||
$this->loader->addFixture($basketFixture);
|
$this->loader->addFixture($basketFixture);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user