From aa8d211e55f1570fb08836b47d677b8e6570e1eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Fri, 30 Jan 2015 18:14:27 +0100 Subject: [PATCH] add test for choose languages fix #409 --- .../Controller/PersonControllerUpdateTest.php | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Tests/Controller/PersonControllerUpdateTest.php b/Tests/Controller/PersonControllerUpdateTest.php index 1eba88e23..6196bb166 100644 --- a/Tests/Controller/PersonControllerUpdateTest.php +++ b/Tests/Controller/PersonControllerUpdateTest.php @@ -134,6 +134,30 @@ class PersonControllerUpdateTest extends WebTestCase 'the value '.$field.' is updated in db'); } + public function testEditLanguages() + { + $crawler = $this->client->request('GET', $this->editUrl); + $selectedLanguages = array('en', 'an', 'bbj'); + + $form = $crawler->selectButton('Submit') + ->form(); + $form->get('chill_personbundle_person[spokenLanguages]') + ->setValue($selectedLanguages); + + $this->client->submit($form); + $this->em->refresh($this->person); + + $this->assertTrue($this->client->getResponse()->isRedirect($this->seeUrl), + 'the page is redirected to /general view'); + //retrieve languages codes present in person + foreach($this->person->getSpokenLanguages() as $lang){ + $languagesCodesPresents[] = $lang->getId(); + } + $this->assertEquals(asort($selectedLanguages), asort($languagesCodesPresents), + 'the person speaks the expected languages'); + + } + /** *