from playwright.sync_api import expect from .base import BasePage class TicketNoticesPage(BasePage): def open_customer_panel(self): if self.page.get_by_role('button', name='اطلاعات مشتری', exact=True).is_visible(): self.page.get_by_role('button', name='اطلاعات مشتری', exact=True).click() expect(self.page.locator('#customer-info')).to_be_in_viewport() def toggle_notices(self): self.page.locator('.ticket-notices > summary').click() def open_notice(self, subject): self.page.get_by_role('link').filter(has=self.page.get_by_text(subject, exact=True)).click() def open_all(self): self.page.get_by_role('link', name='بیشتر همه اعلامیه‌های این مشتری').click() def expect_closed(self): expect(self.page.get_by_role('link', name='ایجاد اعلامیه واریز', exact=True)).to_be_hidden() def expect_open(self): expect(self.page.get_by_role('link', name='ایجاد اعلامیه واریز', exact=True)).to_be_visible() expect(self.page.get_by_role('list', name='اعلامیه‌های اخیر مشتری').get_by_role('link')).to_have_count(3)