/** * Recuperamos los alojamientos que tiene un owner de la base de datos * * @return void * @group getAccommByOwner */ public function testGetAccommByOwnerID() { $am = new AccommodationModel(); $a1 = new Accommodation(); $a2 = new Accommodation(); $p1 = new Photo(); $p2 = new Photo(); $p3 = new Photo(); $p4 = new Photo(); $owner = new Owner(); $um = new UserModel(); $arrayPhoto = []; $arrayPhoto2 = []; $owner->setName("Norman"); $owner->setEmail("*****@*****.**"); $owner->setSurname("Coloma"); $owner->setPhone("654987321"); $owner->setPassword("prueba"); $um->createUser($owner); $p1->setUrl('url/photo1'); $p1->setMain(1); $p2->setUrl('url/photo2'); $p2->setMain(0); $p3->setUrl('url/photo3'); $p3->setMain(1); $p4->setUrl('url/photo4'); $p4->setMain(0); $arrayPhoto[] = $p1; $arrayPhoto[] = $p2; $arrayPhoto2[] = $p3; $arrayPhoto2[] = $p4; $a1->setBaths(2); $a1->setBeds(3); $a1->setCapacity(5); $a1->setCity('Elche'); $a1->setDesc('Alojamiento de lujo.'); $a1->setInside('Descripción del interior del alojamiento.'); $a1->setOutside('Descripción del exterior del alojamiento.'); $a1->setPhotos($arrayPhoto); $a1->setPrice(number_format((double) 50, 2, '.', '')); $a1->setProvince('Alicante'); $a1->setTitle('Casa rural'); $a1->setInitialDesc($a1->getDesc()); $a2->setBaths(1); $a2->setBeds(2); $a2->setCapacity(3); $a2->setCity('Murcia'); $a2->setDesc('Alojamiento de calidad media.'); $a2->setInside('Descripción del interior del alojamiento.'); $a2->setOutside('Descripción del exterior del alojamiento.'); $a2->setPhotos($arrayPhoto2); $a2->setPrice(number_format((double) 20, 2, '.', '')); $a2->setProvince('Murcia'); $a2->setTitle('Casa en la ciudad'); $a2->setInitialDesc($a2->getDesc()); $prueba1 = $am->createAccom($a1, $um->getID($owner->getEmail())); $prueba2 = $am->createAccom($a2, $um->getID($owner->getEmail())); $a1->setID($prueba1['id']); $a2->setID($prueba2['id']); $resultado = []; $resultado[] = $a1; $resultado[] = $a2; $this->assertEquals($resultado, $am->accommodationByOwner($um->getID($owner->getEmail()))); }
/** * Escenario: Buscar los alojamientos de una ciudad que sí tiene resultados desde página de búsqueda * Dado que soy un usuario del sistema y pretendo buscar los alojamientos de una determinada ciudad desde la página de búsqueda * Si escribo dicha ciudad en el buscador y sí se encuentran resultados * El sistema deberá redireccionar a la dirección 'search/accommodations/City/page/1' * Y mostrar los alojamientos disponibles * * @return void * @group searchAcceptance * @test */ public function try_search() { $am = new AccommodationModel(); $a1 = new Accommodation(); $p1 = new Photo(); $p2 = new Photo(); $owner = new Owner(); $um = new UserModel(); $arrayPhoto = []; $owner->setName("Norman"); $owner->setEmail("*****@*****.**"); $owner->setSurname("Coloma"); $owner->setPhone("654987321"); $owner->setPassword("prueba"); $um->createUser($owner); $p1->setUrl('url/photo1'); $p1->setMain(1); $p2->setUrl('url/photo2'); $p2->setMain(0); $arrayPhoto[] = $p1; $arrayPhoto[] = $p2; $a1->setBaths(2); $a1->setBeds(3); $a1->setCapacity(5); $a1->setCity('Madrid'); $a1->setDesc('Alojamiento de lujo.'); $a1->setInside('Descripción del interior del alojamiento.'); $a1->setOutside('Descripción del exterior del alojamiento.'); $a1->setPhotos($arrayPhoto); $a1->setPrice(50); $a1->setProvince('Madrid'); $a1->setTitle('Casa rural'); $am->createAccom($a1, $um->getID($owner->getEmail())); $this->visit('/')->see('Destacados')->type('Elche', 'city')->press('BUSCAR')->seePageIs('search/accommodations/Elche/page/1')->see('No hay resultados para la búsqueda introducida!')->type('Madrid', 'city')->press('Buscar')->seePageIs('/search/accommodations/Madrid/page/1')->see('Madrid'); }
/** * Recuperamos los alojamientos de una determinada ciudad de la BD * * @return void * @group getAccomByCity */ public function testgetAllAccommByCity() { $this->notSeeInDatabase('accommodations', ['title' => 'Casa rural']); $am = new AccommodationModel(); $a1 = new Accommodation(); $a2 = new Accommodation(); $p1 = new Photo(); $p3 = new Photo(); $p2 = new Photo(); $p4 = new Photo(); $owner = new Owner(); $owner2 = new Owner(); $um = new UserModel(); $sm = new \App\Models\SystemModel(); $arrayPhoto = []; $arrayPhoto2 = []; $arrayAcomm = []; $owner->setName("Norman"); $owner->setEmail("*****@*****.**"); $owner->setSurname("Coloma"); $owner->setPhone("654987321"); $owner->setPassword("prueba"); $owner2->setName("Norman"); $owner2->setEmail("*****@*****.**"); $owner2->setSurname("Coloma"); $owner2->setPhone("654987321"); $owner2->setPassword("prueba"); $um->createUser($owner); $um->createUser($owner2); $p1->setUrl('url/photo1'); $p1->setMain(1); $p2->setUrl('url/photo2'); $p2->setMain(0); $p3->setUrl('url/photo3'); $p3->setMain(1); $p4->setUrl('url/photo4'); $p4->setMain(0); $arrayPhoto[] = $p1; $arrayPhoto[] = $p2; $arrayPhoto2[] = $p3; $arrayPhoto2[] = $p4; $a1->setBaths(2); $a1->setBeds(3); $a1->setCapacity(5); $a1->setCity('Elche'); $a1->setDesc('Alojamiento de lujo.'); $a1->setInside('Descripción del interior del alojamiento.'); $a1->setOutside('Descripción del exterior del alojamiento.'); $a1->setPhotos($arrayPhoto); $a1->setPrice(number_format((double) 50, 2, '.', '')); $a1->setProvince('Alicante'); $a1->setTitle('Casa rural'); $a1->setInitialDesc($a1->getDesc()); $a2->setBaths(4); $a2->setBeds(5); $a2->setCapacity(20); $a2->setCity('Elche'); $a2->setDesc('Alojamiento de caca.'); $a2->setInside('Descripción del interior del alojamiento2.'); $a2->setOutside('Descripción del exterior del alojamiento2.'); $a2->setPhotos($arrayPhoto2); $a2->setPrice(number_format((double) 150, 2, '.', '')); $a2->setProvince('Alicante'); $a2->setTitle('Casa rural2'); $a2->setInitialDesc($a2->getDesc()); $accom = $am->createAccom($a1, $um->getID($owner->getEmail())); $accom2 = $am->createAccom($a2, $um->getID($owner2->getEmail())); $a1->setID($accom['id']); $a2->setID($accom2['id']); $arrayAcomm[] = $a1; $arrayAcomm[] = $a2; $this->SeeInDatabase('accommodations', ['title' => 'Casa rural']); $this->SeeInDatabase('photos', ['url' => 'url/photo1']); $this->SeeInDatabase('photos', ['url' => 'url/photo2']); $this->SeeInDatabase('accommodations', ['title' => 'Casa rural2']); $this->SeeInDatabase('photos', ['url' => 'url/photo3']); $this->SeeInDatabase('photos', ['url' => 'url/photo4']); //Testeamos el método allAccomByCity $this->assertEquals($arrayAcomm, $sm->allAcomByCity("Elche")); }