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()); }
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()); }
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()); }
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()); }