aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/playwright/test_basic.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/playwright/test_basic.py b/tests/playwright/test_basic.py
index 4c6f9d6..61779f1 100644
--- a/tests/playwright/test_basic.py
+++ b/tests/playwright/test_basic.py
@@ -111,3 +111,42 @@ def test_upload(page: Page, john_doe, app_settings, tmp_path, dbaccess):
assert track.visibility == Visibility.PUBLIC
assert track.text_tags() == {"Tolle Tour"}
assert track.description == "Beschreibung der tollen Tour"
+
+
+def test_edit(page: Page, john_doe, app_settings, dbaccess):
+ do_login(app_settings, page, john_doe)
+ with dbaccess:
+ track = models.Track(
+ title="Another awesome track",
+ visibility=Visibility.PRIVATE,
+ description="Another description",
+ )
+ track.date = datetime.datetime.now(datetime.timezone.utc)
+ track.gpx_data = load_gpx_asset("Teasi_1.gpx.gz")
+ john_doe.tracks.append(track)
+ dbaccess.flush()
+ track_id = track.id
+ dbaccess.commit()
+
+ page.goto(f"/track/{track_id}")
+ page.locator(".btn", has_text="Edit").click()
+
+ # We now fill in most of the data
+ page.get_by_label("Title").fill("Not so awesome anymore!")
+ page.get_by_label("Date").type("09232019")
+ page.get_by_label("Date").press("Tab")
+ page.get_by_label("Date").type("15:28")
+ page.get_by_label("Visibility").select_option(label="Public")
+ page.get_by_label("Tags").fill("Shitty Tour")
+ page.get_by_role("button", name="Add Tag").click()
+ page.get_by_label("Description").fill("Not so descriptive anymore")
+
+ page.locator(".btn", has_text="Save").click()
+
+ track = dbaccess.execute(select(models.Track).filter_by(id=track_id)).scalar_one()
+
+ assert track.title == "Not so awesome anymore!"
+ assert track.date.replace(tzinfo=None) == datetime.datetime(2019, 9, 23, 15, 28)
+ assert track.visibility == Visibility.PUBLIC
+ assert track.text_tags() == {"Shitty Tour"}
+ assert track.description == "Not so descriptive anymore"