import pytest from tests.e2e.pages.auth import AuthenticationPage from tests.e2e.pages.sharing import StaffSharingPage from tests.test_staff_sharing import make_sharing_case pytestmark = [pytest.mark.e2e, pytest.mark.django_db(transaction=True)] @pytest.mark.parametrize("viewport", [{"width": 1280, "height": 900}, {"width": 390, "height": 844}]) def test_staff_can_share_one_message_track_opening_and_revoke(live_server, browser_page, viewport): case = make_sharing_case() password = "SharingTest123!" with browser_page() as page: page.set_viewport_size(viewport) AuthenticationPage(page, live_server.url).login_staff(case["sender"], password) StaffSharingPage(page, live_server.url).share_message(case["ticket"], case["selected"], case["recipient"], "بررسی رسید توسط مالی") with browser_page() as page: page.set_viewport_size(viewport) AuthenticationPage(page, live_server.url).login_staff(case["recipient"], password) sharing = StaffSharingPage(page, live_server.url) sharing.open_received_message(case["ticket"]) sharing.expect_isolated_content(case["selected"].body, ["مکاتبه محرمانه قبل", "مکاتبه محرمانه بعد"]) shared_url = page.url with browser_page() as page: page.set_viewport_size(viewport) AuthenticationPage(page, live_server.url).login_staff(case["sender"], password) StaffSharingPage(page, live_server.url).expect_opened_and_revoke(case["ticket"], "کارشناس recipient") with browser_page() as page: page.set_viewport_size(viewport) AuthenticationPage(page, live_server.url).login_staff(case["recipient"], password) StaffSharingPage(page, live_server.url).expect_revoked_link_denied(shared_url)