diff options
Diffstat (limited to 'tests/playwright')
| -rw-r--r-- | tests/playwright/test_basic.py | 20 | 
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/playwright/test_basic.py b/tests/playwright/test_basic.py index a98e52d..66ec326 100644 --- a/tests/playwright/test_basic.py +++ b/tests/playwright/test_basic.py @@ -146,3 +146,23 @@ def test_delete(page: Page, playwright_helper, dbaccess, data_manager):      assert track is None      with pytest.raises(FileNotFoundError):          data_manager.open(track_id) + + +def test_favour(page: Page, playwright_helper, dbaccess, data_manager): +    john = playwright_helper.john_doe() +    playwright_helper.login() +    track_id = playwright_helper.add_track().id + +    page.goto(f"/track/{track_id}") + +    with page.expect_request_finished(predicate=lambda req: "/toggle-favourite" in req.url): +        page.locator(".favourite-star").click() + +    track = dbaccess.execute(select(models.Track).filter_by(id=track_id)).scalar_one_or_none() +    assert john.id in [user.id for user in track.favourees] + +    with page.expect_request_finished(predicate=lambda req: "/toggle-favourite" in req.url): +        page.locator(".favourite-star").click() + +    dbaccess.refresh(track, ["favourees"]) +    assert john.id not in [user.id for user in track.favourees]  | 
