Merge pull request #1538 from umap-project/test-querystring

fix: honour datalayersControl=expanded in querystring
This commit is contained in:
Yohan Boniface 2024-01-29 12:46:55 +01:00 committed by GitHub
commit c5270fb165
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 44 additions and 0 deletions

View file

@ -122,6 +122,11 @@ L.U.Map.include({
`${this.HIDDABLE_CONTROLS[i]}Control` `${this.HIDDABLE_CONTROLS[i]}Control`
) )
} }
// Specific case for datalayersControl
// which accept "expanded" value, on top of true/false/null
if (L.Util.queryString('datalayersControl') === 'expanded') {
L.Util.setFromQueryString(this.options, 'datalayersControl')
}
this.datalayersOnLoad = L.Util.queryString('datalayers') this.datalayersOnLoad = L.Util.queryString('datalayers')
this.options.onLoadPanel = L.Util.queryString( this.options.onLoadPanel = L.Util.queryString(
'onLoadPanel', 'onLoadPanel',

View file

@ -0,0 +1,39 @@
import pytest
from playwright.sync_api import expect
pytestmark = pytest.mark.django_db
def test_scale_control(map, live_server, datalayer, page):
control = page.locator(".leaflet-control-scale")
page.goto(f"{live_server.url}{map.get_absolute_url()}")
expect(control).to_be_visible()
page.goto(f"{live_server.url}{map.get_absolute_url()}?scaleControl=false")
expect(control).to_be_hidden()
def test_datalayers_control(map, live_server, datalayer, page):
control = page.locator(".umap-browse-toggle")
box = page.locator(".umap-browse-datalayers")
more = page.get_by_title("More controls")
page.goto(f"{live_server.url}{map.get_absolute_url()}")
expect(control).to_be_visible()
expect(box).to_be_hidden()
page.goto(f"{live_server.url}{map.get_absolute_url()}?datalayersControl=true")
expect(control).to_be_visible()
expect(box).to_be_hidden()
page.goto(f"{live_server.url}{map.get_absolute_url()}?datalayersControl=null")
expect(control).to_be_hidden()
expect(more).to_be_visible()
more.click()
expect(control).to_be_visible()
expect(box).to_be_hidden()
page.goto(f"{live_server.url}{map.get_absolute_url()}?datalayersControl=false")
expect(control).to_be_hidden()
expect(more).to_be_visible()
more.click()
expect(control).to_be_hidden()
expect(box).to_be_hidden()
page.goto(f"{live_server.url}{map.get_absolute_url()}?datalayersControl=expanded")
expect(control).to_be_hidden()
expect(box).to_be_visible()