]> git.openstreetmap.org Git - nominatim-ui.git/commitdiff
adjust details test cases to what newest Nominatim returns
authormarc tobias <mtmail@gmx.net>
Tue, 29 Aug 2023 20:48:52 +0000 (22:48 +0200)
committermtmail <mtmail@gmx.net>
Tue, 29 Aug 2023 21:44:23 +0000 (23:44 +0200)
src/pages/DetailsPage.svelte
test/details.js

index 2b8f4ccd980a14739f009eb575c228a0e819c60c..225d1a0662ff81353acd063e5ee50ba337c493af 100644 (file)
@@ -56,6 +56,7 @@
 
   function place_has_keywords(aThisPlace) {
     // Return false if Nominatim API sends 'keywords: { name: [], address: [] }'
+    // Like no longer needed after Nominatim version 4.3
     return (
       aThisPlace.keywords && aThisPlace.keywords.name && aThisPlace.keywords.address
       && (aThisPlace.keywords.name.length > 0 || aThisPlace.keywords.address.length > 0)
         <table id="locationdetails" class="table table-striped table-responsive">
           <tbody>
             <InfoRow title="Name">
-            {#if (Array.isArray(aPlace.names)) }
-              <span class="noname fw-bold">No Name</span>
-            {:else}
+            {#if aPlace.names && typeof (aPlace.names) === 'object'
+              && Object.keys(aPlace.names).length}
               <InfoRowList items={aPlace.names} />
+            {:else}
+              <span class="noname fw-bold">No Name</span>
             {/if}
             </InfoRow>
             <InfoRow title="Type">{aPlace.category}:{aPlace.type}</InfoRow>
index 513dcba7bb6c77949892997fb7aeea6ef03ef904..df667b637a33b60cb72e7df8f71b6c5fc69c0544 100644 (file)
@@ -87,7 +87,33 @@ describe('Details Page', function () {
       });
     }
 
+
+    it('should support case-insenstive search, can navigate to new page', async function () {
+      let input_field = await page.$('input[type=edit]');
+      await input_field.click({ clickCount: 3 });
+      await input_field.type('w375257537');
+      await page.click('button[type=submit]');
+
+      await page.waitForSelector('a[href="https://www.openstreetmap.org/way/375257537"]');
+      assert.ok((await page.$eval('.container h1', el => el.textContent)).includes('Taj Mahal'));
+    });
+  });
+
+  describe('With street search - a place that is parent of buildings', function () {
+    before(async function () {
+      page = await browser.newPage();
+      await page.goto('http://localhost:9999/details.html?osmtype=W&osmid=32703083');
+      await page.waitForSelector('.container .row');
+    });
+
+    after(async function () {
+      await page.close();
+    });
+
     it('should change page url on clicking display child places', async function () {
+      let page_content = await page.$eval('body', el => el.textContent);
+      assert.ok(page_content.includes('Gafleistrasse'));
+
       let current_url;
       let [child_places_btn] = await page.$x("//a[contains(text(), 'display child places')]");
 
@@ -98,18 +124,8 @@ describe('Details Page', function () {
       current_url = new URL(await page.url());
       assert.strictEqual(current_url.searchParams.get('hierarchy'), '1');
 
-      let page_content = await page.$eval('body', el => el.textContent);
-      assert.ok(page_content.includes('Alte Landstrasse')); // one of the streets
-    });
-
-    it('should support case-insenstive search, can navigate to new page', async function () {
-      let input_field = await page.$('input[type=edit]');
-      await input_field.click({ clickCount: 3 });
-      await input_field.type('w375257537');
-      await page.click('button[type=submit]');
-
-      await page.waitForSelector('a[href="https://www.openstreetmap.org/way/375257537"]');
-      assert.ok((await page.$eval('.container h1', el => el.textContent)).includes('Taj Mahal'));
+      page_content = await page.$eval('body', el => el.textContent);
+      assert.ok(page_content.includes('bus_stop')); // parent of several bus stops
     });
   });