Ejemplo n.º 1
0
 public function testArray()
 {
     $photo = new Photo();
     $photo->setNom('wohoo');
     $serialized = $this->type->convertToDatabaseValue([$photo], $this->plateform);
     $unserialized = $this->type->convertToPHPValue($serialized, $this->plateform);
     $this->assertInstanceOf(Photo::class, $unserialized[0]);
     /** @var Photo $var */
     $var = $unserialized[0];
     $this->assertEquals('wohoo', $var->getNom());
 }
Ejemplo n.º 2
0
 public function testMappingBranchToModel()
 {
     // Mock d'une page eleveur en base de données
     $user = new User();
     $user->setId(1);
     $pageEleveurBranch = new PageEleveurBranch();
     $pageEleveurBranch->setId(1);
     $pageEleveurBranch->setOwner($user);
     $this->pageEleveurBranchRepository->method('findBySlug')->withAnyParameters()->willReturn($pageEleveurBranch);
     $pageAnimal = new PageAnimalBranch();
     $photo = new Photo();
     $photo->setNom('portrait');
     $pageAnimal->setCommit(new PageAnimalCommit(null, 'bobi', null, '', PageAnimal::DISPONIBLE, PageAnimal::MALE, [$photo]));
     $commit = new PageEleveurCommit(null, 'Tatouine', 'Plein de chartreux', 'Chats', 'Chartreux', 'Roubaix', [$pageAnimal], [new Actualite('Nouvelle portée', new \DateTime())]);
     $pageEleveurBranch->setCommit($commit);
     $this->pageEleveurCommitRepository->method('find')->with($commit->getId())->willReturn($commit);
     // requete cliente par le slug
     $pageEleveur = $this->pageEleveurService->findBySlug('');
     // l'objet PageEleveur est bien rempli
     $this->assertEquals('Tatouine', $pageEleveur->getNom());
     $this->assertEquals('Plein de chartreux', $pageEleveur->getDescription());
     $this->assertEquals('Chats', $pageEleveur->getEspeces());
     $this->assertEquals('Chartreux', $pageEleveur->getRaces());
     $this->assertEquals('Roubaix', $pageEleveur->getLieu());
     $this->assertEquals('Nouvelle portée', $pageEleveur->getActualites()[0]->getContenu());
     $this->assertEquals('portrait', $pageEleveur->getAnimaux()[0]->getPhotos()[0]->getNom());
 }
Ejemplo n.º 3
0
 public function testMappingBranchToModel()
 {
     $this->timeService->lockNow();
     // mock d'une page animal en bdd
     $pageAnimalBranch = new PageAnimalBranch();
     $pageAnimalBranch->setId(1);
     $this->pageAnimalBranchRepository->method('find')->with(1)->willReturn($pageAnimalBranch);
     $photo = new Photo();
     $photo->setNom('zzccd');
     $commit = new PageAnimalCommit(null, 'rudy', $this->timeService->now(), 'Un beau chien', PageAnimal::DISPONIBLE, PageAnimal::FEMELLE, [$photo]);
     $pageAnimalBranch->setCommit($commit);
     // Requete de la page animal
     $pageAnimal = $this->pageAnimalService->find(1);
     // On vérifie que la page est retournée avec les bonnes données
     $this->assertEquals('rudy', $pageAnimal->getNom());
     $this->assertEquals($this->timeService->now(), $pageAnimal->getDateNaissance());
     $this->assertEquals('Un beau chien', $pageAnimal->getDescription());
     $this->assertEquals(PageAnimal::DISPONIBLE, $pageAnimal->getStatut());
     $this->assertEquals(PageAnimal::FEMELLE, $pageAnimal->getSexe());
     $this->assertEquals('zzccd', $pageAnimal->getPhotos()[0]->getNom());
 }
 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());
 }
Ejemplo n.º 5
0
 public function testCommit_success()
 {
     $pageAnimal = $this->testUtils->createUser()->toEleveur()->addAnimal()->getPageEleveur()->getAnimaux()[0];
     $pageAnimal->setNom('Bernard');
     $pageAnimal->setDateNaissance(new \DateTime('2015/01/18'));
     $pageAnimal->setDescription('Un gros toutou');
     $pageAnimal->setSexe(PageAnimal::FEMELLE);
     $pageAnimal->setStatut(PageAnimal::RESERVE);
     $photo = new Photo();
     $photo->setNom('img1.jpg');
     $pageAnimal->setPhotos([$photo]);
     // Modification du nom et de la description de la page
     $this->client->request('POST', '/animal/' . $pageAnimal->getId(), array(), array(), array(), $this->serializer->serialize($pageAnimal, 'json'));
     $this->assertEquals(Response::HTTP_OK, $this->client->getResponse()->getStatusCode());
     /** @var PageAnimalService $pageAnimalService */
     $pageAnimalService = $this->client->getContainer()->get('zigotoo.page_animal');
     $pageAnimal = $pageAnimalService->find($pageAnimal->getId());
     $this->assertEquals($this->serializer->serialize($pageAnimal, 'json'), $this->client->getResponse()->getContent());
     $this->testUtils->clearEntities();
     $crawler = $this->client->request('GET', '/animal/' . $pageAnimal->getId());
     $this->assertEquals($pageAnimal->getNom(), $crawler->filter('title')->text());
     $this->assertContains('18/01/2015', $crawler->filter('#date-naissance')->text());
     $this->assertEquals('Un gros toutou', $crawler->filter('#description')->text());
     $this->assertEquals('Réservé', trim($crawler->filter('select#statut option[selected]')->text()));
     $this->testUtils->logout();
     $this->testUtils->clearEntities();
     $crawler = $this->client->request('GET', '/animal/' . $pageAnimal->getId());
     $this->assertEquals($pageAnimal->getNom(), $crawler->filter('title')->text());
     $this->assertEquals('Femelle', trim($crawler->filter('#sexe')->text()));
     $this->assertContains('18/01/2015', $crawler->filter('#date-naissance')->text());
     $this->assertEquals('Un gros toutou', $crawler->filter('#description')->text());
     $this->assertEquals('Réservé', trim($crawler->filter('#statut')->text()));
     $this->assertEquals(1, $crawler->filter('.photo')->count());
 }