|
@@ -231,4 +231,113 @@ class GroupControllerTest extends FunctionalTest
|
231
|
231
|
$this->exist('h1:contains("Les Fans de Psytrance")');
|
232
|
232
|
}
|
233
|
233
|
|
|
234
|
+ public function testRemoveElementFromGroup()
|
|
235
|
+ {
|
|
236
|
+ $this->client = self::createClient();
|
|
237
|
+ $this->connectUser('bob', 'toor');
|
|
238
|
+
|
|
239
|
+ // Elements que l'on va retirer pour le test
|
|
240
|
+ $element_1 = $this->findOneBy('Element', 'Infected mushroom - Muse Breaks');
|
|
241
|
+ $element_2 = $this->findOneBy('Element', 'Infected Mushroom - Psycho');
|
|
242
|
+ $element_3 = $this->findOneBy('Element', 'DUDELDRUM');
|
|
243
|
+ $group_fdp = $this->findOneBy('Group', 'Fans de psytrance');
|
|
244
|
+ $group_dud = $this->findOneBy('Group', 'DUDELDRUM');
|
|
245
|
+
|
|
246
|
+ $this->assertTrue(!is_null($element_1));
|
|
247
|
+ $this->assertTrue(!is_null($element_2));
|
|
248
|
+ $this->assertTrue(!is_null($element_3));
|
|
249
|
+
|
|
250
|
+ $this->assertTrue(!is_null($element_1->getGroup()));
|
|
251
|
+ $this->assertTrue(!is_null($element_2->getGroup()));
|
|
252
|
+ $this->assertTrue(!is_null($element_3->getGroup()));
|
|
253
|
+
|
|
254
|
+ $this->assertEquals($group_fdp->getName(), $element_1->getGroup()->getName());
|
|
255
|
+ $this->assertEquals($group_fdp->getName(), $element_2->getGroup()->getName());
|
|
256
|
+ $this->assertEquals($group_dud->getName(), $element_3->getGroup()->getName());
|
|
257
|
+
|
|
258
|
+ // On retire le premier element
|
|
259
|
+ $this->crawler = $this->client->request(
|
|
260
|
+ 'POST',
|
|
261
|
+ $this->generateUrl('element_remove_from_group', array(
|
|
262
|
+ 'group_id' => $group_fdp->getId(),
|
|
263
|
+ 'element_id' => $element_1->getId(),
|
|
264
|
+ 'token' => $this->getUser()->getPersonalHash('remove_from_group_'.$element_1->getId())
|
|
265
|
+ )),
|
|
266
|
+ array(),
|
|
267
|
+ array(),
|
|
268
|
+ array('HTTP_X-Requested-With' => 'XMLHttpRequest')
|
|
269
|
+ );
|
|
270
|
+ $this->isResponseSuccess();
|
|
271
|
+ $response = json_decode($this->client->getResponse()->getContent(), true);
|
|
272
|
+ $this->assertEquals($response['status'], 'success');
|
|
273
|
+
|
|
274
|
+ $element_1 = $this->findOneBy('Element', 'Infected mushroom - Muse Breaks');
|
|
275
|
+ $element_2 = $this->findOneBy('Element', 'Infected Mushroom - Psycho');
|
|
276
|
+ $element_3 = $this->findOneBy('Element', 'DUDELDRUM');
|
|
277
|
+
|
|
278
|
+ $this->assertTrue(!is_null($element_1));
|
|
279
|
+ $this->assertTrue(!is_null($element_2));
|
|
280
|
+ $this->assertTrue(!is_null($element_3));
|
|
281
|
+
|
|
282
|
+ $this->assertTrue(is_null($element_1->getGroup()));
|
|
283
|
+ $this->assertTrue(!is_null($element_2->getGroup()));
|
|
284
|
+ $this->assertTrue(!is_null($element_3->getGroup()));
|
|
285
|
+
|
|
286
|
+ // On retire le deuxieme element
|
|
287
|
+ $this->crawler = $this->client->request(
|
|
288
|
+ 'POST',
|
|
289
|
+ $this->generateUrl('element_remove_from_group', array(
|
|
290
|
+ 'group_id' => $group_fdp->getId(),
|
|
291
|
+ 'element_id' => $element_2->getId(),
|
|
292
|
+ 'token' => $this->getUser()->getPersonalHash('remove_from_group_'.$element_2->getId())
|
|
293
|
+ )),
|
|
294
|
+ array(),
|
|
295
|
+ array(),
|
|
296
|
+ array('HTTP_X-Requested-With' => 'XMLHttpRequest')
|
|
297
|
+ );
|
|
298
|
+ $this->isResponseSuccess();
|
|
299
|
+ $response = json_decode($this->client->getResponse()->getContent(), true);
|
|
300
|
+ $this->assertEquals($response['status'], 'success');
|
|
301
|
+
|
|
302
|
+ $element_1 = $this->findOneBy('Element', 'Infected mushroom - Muse Breaks');
|
|
303
|
+ $element_2 = $this->findOneBy('Element', 'Infected Mushroom - Psycho');
|
|
304
|
+ $element_3 = $this->findOneBy('Element', 'DUDELDRUM');
|
|
305
|
+
|
|
306
|
+ $this->assertTrue(!is_null($element_1));
|
|
307
|
+ $this->assertTrue(!is_null($element_2));
|
|
308
|
+ $this->assertTrue(!is_null($element_3));
|
|
309
|
+
|
|
310
|
+ $this->assertTrue(is_null($element_1->getGroup()));
|
|
311
|
+ $this->assertTrue(is_null($element_2->getGroup()));
|
|
312
|
+ $this->assertTrue(!is_null($element_3->getGroup()));
|
|
313
|
+
|
|
314
|
+ // On va maintenant essayer d'enlever un element d'un autre groupe, ce ne sera pas possible
|
|
315
|
+ $this->crawler = $this->client->request(
|
|
316
|
+ 'POST',
|
|
317
|
+ $this->generateUrl('element_remove_from_group', array(
|
|
318
|
+ 'group_id' => $group_dud->getId(),
|
|
319
|
+ 'element_id' => $element_3->getId(),
|
|
320
|
+ 'token' => $this->getUser()->getPersonalHash('remove_from_group_'.$element_3->getId())
|
|
321
|
+ )),
|
|
322
|
+ array(),
|
|
323
|
+ array(),
|
|
324
|
+ array('HTTP_X-Requested-With' => 'XMLHttpRequest')
|
|
325
|
+ );
|
|
326
|
+ $this->isResponseSuccess();
|
|
327
|
+ $response = json_decode($this->client->getResponse()->getContent(), true);
|
|
328
|
+ $this->assertEquals($response['status'], 'error');
|
|
329
|
+
|
|
330
|
+ $element_1 = $this->findOneBy('Element', 'Infected mushroom - Muse Breaks');
|
|
331
|
+ $element_2 = $this->findOneBy('Element', 'Infected Mushroom - Psycho');
|
|
332
|
+ $element_3 = $this->findOneBy('Element', 'DUDELDRUM');
|
|
333
|
+
|
|
334
|
+ $this->assertTrue(!is_null($element_1));
|
|
335
|
+ $this->assertTrue(!is_null($element_2));
|
|
336
|
+ $this->assertTrue(!is_null($element_3));
|
|
337
|
+
|
|
338
|
+ $this->assertTrue(is_null($element_1->getGroup()));
|
|
339
|
+ $this->assertTrue(is_null($element_2->getGroup()));
|
|
340
|
+ $this->assertTrue(!is_null($element_3->getGroup()));
|
|
341
|
+ }
|
|
342
|
+
|
234
|
343
|
}
|