public function testContent_UserAnonyme_PageComplete() { $pageEleveur = $this->testUtils->createUser()->toEleveur()->addAnimal()->getPageEleveur(); $pageEleveur->setDescription('nouvelle description'); $pageEleveur->setEspeces('chats'); $pageEleveur->setRaces('chartreux'); /* * Enregistrement d'une actualité en base pour simuler le fait que * la page eleveur a déjà une actualité. */ /** @var EntityManager $entityManager */ $entityManager = $this->client->getContainer()->get('doctrine.orm.entity_manager'); $actualite1 = new Actualite($this->getName() . rand(), new \DateTime('2015/12/25')); $entityManager->persist($actualite1); $entityManager->flush($actualite1); $this->testUtils->clearEntities(); /* On doit avancer le temps pour que les actualités aient des createdAt différents parceque les requêtes font des orderBy createdAt */ $actu = rand(); $pageEleveur->setActualites([$actualite1, new Actualite($actu, new \DateTime())]); $pageAnimal = $pageEleveur->getAnimaux()[0]; $photo = new Photo(); $photo->setNom('portrait'); $pageAnimal->setPhotos([$photo]); /** @var PageEleveurService $pageEleveurService */ $pageEleveurService = $this->client->getContainer()->get('zigotoo.page_eleveur'); /** @var PageAnimalService $pageAnimalService */ $pageAnimalService = $this->client->getContainer()->get('zigotoo.page_animal'); $pageEleveur = $pageEleveurService->commit($this->testUtils->getUser(), $pageEleveur); $pageAnimalService->commit($this->testUtils->getUser(), $pageAnimal); $this->testUtils->logout(); $this->testUtils->clearEntities(); $crawler = $this->client->request('GET', '/elevage/' . $pageEleveur->getSlug()); $this->assertEquals($pageEleveur->getNom(), $crawler->filter('h1')->text()); $this->assertEquals($pageEleveur->getNom(), $crawler->filter('title')->text()); $this->assertEquals('nouvelle description', $crawler->filter('#description')->text()); $this->assertEquals('chats', trim($crawler->filter('#especes')->text())); $this->assertEquals('chartreux', trim($crawler->filter('#races')->text())); $this->assertEquals(1, $crawler->filter('#actualites h2')->count()); $this->assertEquals(2, $crawler->filter('#actualites .actualite')->count()); $this->assertContains($actu . '', $crawler->filter('#actualites .actualite')->first()->text()); $this->assertContains('25/12/2015', $crawler->filter('#actualites .actualite')->nextAll()->text()); $this->assertContains($actualite1->getContenu(), $crawler->filter('#actualites .actualite')->nextAll()->text()); $this->assertContains($pageEleveur->getAnimaux()[0]->getNom(), $crawler->filter('#animaux .animal')->text()); $this->assertContains($photo->getNom(), $crawler->filter('#animaux .animal img')->attr('src')); $this->assertContains('Disponible', $crawler->filter('#animaux .animal .statut-animal.chip-valid')->text()); }