umap/umap/tests/integration/test_star.py
Yohan Boniface b3ce523ba2 fix: star control was using old post method
Also, only display it if the user is already logged in, given
we do not deal anymore with login during ajax calls.
2024-02-16 10:59:25 +01:00

27 lines
842 B
Python

import re
import pytest
from playwright.sync_api import expect
from umap.models import Star
pytestmark = pytest.mark.django_db
def test_star_control_is_visible_if_logged_in(map, live_server, page, login, user):
login(user)
assert not Star.objects.count()
page.goto(f"{live_server.url}{map.get_absolute_url()}")
page.get_by_title("More controls").click()
control = page.locator(".leaflet-control-star")
expect(control).to_be_visible()
with page.expect_response(re.compile(".*/star/")):
control.click()
assert Star.objects.count() == 1
def test_no_star_control_if_not_logged_in(map, live_server, page):
page.goto(f"{live_server.url}{map.get_absolute_url()}")
page.get_by_title("More controls").click()
control = page.locator(".leaflet-control-star")
expect(control).to_be_hidden()