From b21dfe438e19c60fb9411e88147b76e64e3146db Mon Sep 17 00:00:00 2001 From: Yohann Berthon Date: Thu, 2 Jan 2025 16:30:35 +0100 Subject: [PATCH] Update tests for multiple osm tags --- ...t.io_f02c930445a15eb88482c0cc3c22a782c9ee6005 | 1 + ...t.io_f28b8c40cd259040dfbde8c3a179463de6a2ecc8 | 1 - src/Provider/Photon/Tests/PhotonTest.php | 16 ++++++++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 src/Provider/Photon/Tests/.cached_responses/photon.komoot.io_f02c930445a15eb88482c0cc3c22a782c9ee6005 delete mode 100644 src/Provider/Photon/Tests/.cached_responses/photon.komoot.io_f28b8c40cd259040dfbde8c3a179463de6a2ecc8 diff --git a/src/Provider/Photon/Tests/.cached_responses/photon.komoot.io_f02c930445a15eb88482c0cc3c22a782c9ee6005 b/src/Provider/Photon/Tests/.cached_responses/photon.komoot.io_f02c930445a15eb88482c0cc3c22a782c9ee6005 new file mode 100644 index 000000000..d23d4a4ec --- /dev/null +++ b/src/Provider/Photon/Tests/.cached_responses/photon.komoot.io_f02c930445a15eb88482c0cc3c22a782c9ee6005 @@ -0,0 +1 @@ +s:4208:"{"features":[{"geometry":{"coordinates":[2.2978602225671843,48.8643133],"type":"Point"},"type":"Feature","properties":{"osm_id":79219308,"extent":[2.2971088,48.8647083,2.2984772,48.8639024],"country":"France","city":"Paris","countrycode":"FR","postcode":"75116","locality":"Chaillot","type":"house","osm_type":"W","osm_key":"tourism","street":"Rue Gaston de Saint-Paul","district":"Paris","osm_value":"museum","name":"Musée d'Art Moderne de Paris","state":"Île-de-France"}},{"geometry":{"coordinates":[2.3153496472839956,48.866042],"type":"Point"},"type":"Feature","properties":{"osm_id":2778854,"extent":[2.3143339,48.866628,2.3156049,48.8654594],"country":"France","city":"Paris","countrycode":"FR","postcode":"75008","locality":"Quartier des Champs-Élysées","type":"house","osm_type":"R","osm_key":"tourism","street":"Avenue Winston Churchill","district":"Paris","osm_value":"museum","name":"Musée des beaux-arts de la Ville de Paris","state":"Île-de-France"}},{"geometry":{"coordinates":[2.3518758,48.850724],"type":"Point"},"type":"Feature","properties":{"osm_id":237003117,"country":"France","city":"Paris","countrycode":"FR","postcode":"75005","locality":"Quartier Saint-Victor","type":"house","osm_type":"N","osm_key":"tourism","street":"Quai de la Tournelle","district":"Paris","osm_value":"museum","name":"Musée de l'Assistance Publique Hôpitaux de Paris","state":"Île-de-France"}},{"geometry":{"coordinates":[2.3450724,48.8640506],"type":"Point"},"type":"Feature","properties":{"osm_id":3087374948,"country":"France","city":"Paris","countrycode":"FR","postcode":"75001","locality":"Les Halles","type":"house","osm_type":"N","osm_key":"tourism","street":"Rue du Jour","district":"Paris","osm_value":"museum","name":"Musée du Barreau de Paris","state":"Île-de-France"}},{"geometry":{"coordinates":[2.3453019,48.8625016],"type":"Point"},"type":"Feature","properties":{"osm_id":1028569468,"country":"France","city":"Paris 1er Arrondissement","countrycode":"FR","postcode":"75001","locality":"Les Halles","type":"house","osm_type":"N","osm_key":"tourism","street":"Rue du cinéma","district":"Paris","osm_value":"museum","name":"Salle des collections","state":"Île-de-France"}},{"geometry":{"coordinates":[2.3587471,48.865943],"type":"Point"},"type":"Feature","properties":{"osm_id":5275610309,"country":"France","city":"Paris","countrycode":"FR","postcode":"75003","locality":"Quartier des Arts-et-Métiers","type":"house","osm_type":"N","osm_key":"tourism","street":"Rue de Turbigo","district":"Paris","osm_value":"gallery","name":"Paris-B","state":"Île-de-France"}},{"geometry":{"coordinates":[2.3314642,48.881227],"type":"Point"},"type":"Feature","properties":{"osm_id":10677716841,"country":"France","city":"Paris","countrycode":"FR","postcode":"75009","locality":"Quartier Saint-Georges","type":"house","osm_type":"N","osm_key":"tourism","street":"Rue Blanche","district":"Paris","osm_value":"gallery","name":"Mu Gallery Paris","state":"Île-de-France"}},{"geometry":{"coordinates":[2.3736064,48.8623128],"type":"Point"},"type":"Feature","properties":{"osm_id":10130759032,"country":"France","city":"Paris","countrycode":"FR","postcode":"75011","locality":"Quartier Saint-Ambroise","type":"house","osm_type":"N","osm_key":"tourism","street":"Rue Saint-Sébastien","district":"Paris","osm_value":"gallery","name":"Paris-New York","state":"Île-de-France"}},{"geometry":{"coordinates":[2.3644211,48.8602831],"type":"Point"},"type":"Feature","properties":{"osm_id":3210924575,"country":"France","city":"Paris","countrycode":"FR","postcode":"75003","locality":"Quartier des Archives","type":"house","osm_type":"N","osm_key":"tourism","street":"Rue Debelleyme","district":"Le Marais","osm_value":"gallery","name":"lecœur-paris.com","state":"Île-de-France"}},{"geometry":{"coordinates":[2.3525427,48.86361],"type":"Point"},"type":"Feature","properties":{"osm_id":10744217145,"country":"France","city":"Paris","countrycode":"FR","postcode":"75003","locality":"Quartier Sainte-Avoye","type":"house","osm_type":"N","osm_key":"tourism","street":"Rue Saint-Martin","district":"Paris","osm_value":"gallery","name":"Galerie Paris Horizon","state":"Île-de-France"}}],"type":"FeatureCollection"}"; \ No newline at end of file diff --git a/src/Provider/Photon/Tests/.cached_responses/photon.komoot.io_f28b8c40cd259040dfbde8c3a179463de6a2ecc8 b/src/Provider/Photon/Tests/.cached_responses/photon.komoot.io_f28b8c40cd259040dfbde8c3a179463de6a2ecc8 deleted file mode 100644 index 166755be3..000000000 --- a/src/Provider/Photon/Tests/.cached_responses/photon.komoot.io_f28b8c40cd259040dfbde8c3a179463de6a2ecc8 +++ /dev/null @@ -1 +0,0 @@ -s:2263:"{"features":[{"geometry":{"coordinates":[2.3328439,48.8587571],"type":"Point"},"type":"Feature","properties":{"osm_id":4839163372,"country":"France","city":"Paris","countrycode":"FR","postcode":"75006","locality":"Saint-Germain-des-Prés","type":"house","osm_type":"N","osm_key":"tourism","street":"Promenade Marceline Loridan-Ivens","district":"Paris","osm_value":"artwork","name":"La Ville de Paris","state":"Île-de-France"}},{"geometry":{"coordinates":[2.418394477960865,48.8318844],"type":"Point"},"type":"Feature","properties":{"osm_id":26008116,"extent":[2.4141177,48.834668,2.4204695,48.8289812],"country":"France","city":"Paris","countrycode":"FR","postcode":"75012","locality":"Quartier du Bel-Air","type":"house","osm_type":"W","osm_key":"tourism","street":"Promenade Maurice-Boitel","district":"Paris","osm_value":"zoo","name":"Parc zoologique de Paris","state":"Île-de-France"}},{"geometry":{"coordinates":[2.345051233260165,48.85565735],"type":"Point"},"type":"Feature","properties":{"osm_id":536982,"extent":[2.3429677,48.856811,2.3462472,48.8544964],"country":"France","city":"Paris","countrycode":"FR","postcode":"75001","locality":"Quartier Saint-Germain-l'Auxerrois","type":"house","osm_type":"R","osm_key":"tourism","street":"Cour du Premier Président","district":"Paris","osm_value":"attraction","name":"Palais de Justice de Paris","state":"Île-de-France"}},{"geometry":{"coordinates":[2.2933072,48.870745],"type":"Point"},"type":"Feature","properties":{"osm_id":2990418382,"country":"France","city":"Paris","countrycode":"FR","postcode":"75116","locality":"Quartier de Chaillot","type":"house","osm_type":"N","osm_key":"tourism","street":"Avenue Kléber","district":"Paris","osm_value":"hotel","name":"The Peninsula Paris","state":"Île-de-France"}},{"geometry":{"coordinates":[2.288981354650506,48.82872115000001],"type":"Point"},"type":"Feature","properties":{"osm_id":129135460,"extent":[2.2847236,48.8321689,2.2921187,48.8253682],"country":"France","city":"Paris","countrycode":"FR","postcode":"75015","locality":"Paris Expo Porte de Versailles","type":"house","osm_type":"W","osm_key":"tourism","district":"Paris","osm_value":"attraction","name":"Parc des Expositions de Paris","state":"Île-de-France"}}],"type":"FeatureCollection"}"; \ No newline at end of file diff --git a/src/Provider/Photon/Tests/PhotonTest.php b/src/Provider/Photon/Tests/PhotonTest.php index 9388398e4..1148341d7 100644 --- a/src/Provider/Photon/Tests/PhotonTest.php +++ b/src/Provider/Photon/Tests/PhotonTest.php @@ -115,16 +115,24 @@ public function testGeocodeQueryWithMultipleOsmTagFilter(): void { $provider = Photon::withKomootServer($this->getHttpClient()); $query = GeocodeQuery::create('Paris') - ->withData('osm_tag', ['tourism', ':!museum']) - ->withLimit(5); + ->withData('osm_tag', ['tourism:museum', 'tourism:gallery']) + ->withLimit(10); $results = $provider->geocodeQuery($query); - $this->assertCount(5, $results); + $this->assertCount(10, $results); + $countMuseums = $countGalleries = 0; foreach ($results as $result) { $this->assertInstanceOf(PhotonAddress::class, $result); $this->assertEquals('tourism', $result->getOSMTag()->key); - $this->assertNotEquals('museum', $result->getOSMTag()->value); + $this->assertContains($result->getOSMTag()->value, ['museum', 'gallery']); + if ('museum' === $result->getOSMTag()->value) { + ++$countMuseums; + } elseif ('gallery' === $result->getOSMTag()->value) { + ++$countGalleries; + } } + $this->assertGreaterThan(0, $countMuseums); + $this->assertGreaterThan(0, $countGalleries); } public function testReverseQuery(): void