Files
customerTicket/tests/e2e/pages/payment_link.py
T
2026-10-06 10:03:22 +03:30

41 lines
2.3 KiB
Python

from playwright.sync_api import expect
from .payments import PaymentsPage
class PaymentLinkPage(PaymentsPage):
def open_link(self, path):
self.goto(path)
expect(self.page.get_by_role('heading', name='جزئیات واریز', exact=True)).to_be_visible()
def copy_all(self):
self.page.get_by_role('button', name='کپی کامل اطلاعات', exact=True).click()
expect(self.page.get_by_text('کپی شد', exact=True).or_(
self.page.get_by_role('heading', name='متن را انتخاب و کپی کنید'))).to_be_visible()
if self.page.get_by_role('dialog').is_visible():
self.page.get_by_role('button', name='بستن', exact=True).click()
def open_receipt_form(self, linked):
if linked:
self.page.get_by_role('link', name='ارسال فیش این واریز', exact=True).click()
else:
self.page.get_by_role('link', name='ارسال فیش واریز مستقل', exact=True).click()
expect(self.page.get_by_role('heading', name='ارسال فیش واریزی', exact=True)).to_be_visible()
def show_required_errors(self):
self.page.get_by_role('button', name='ثبت و ارسال فیش', exact=True).click()
expect(self.page.locator('#receipt-errors')).to_be_visible()
expect(self.page.locator('#id_paid_amount')).to_be_focused()
def submit_payment(self, png, account_id=None):
if account_id is not None:
self.page.locator('#id_destination_account').select_option(str(account_id))
self.page.get_by_label('شناسه واریز که با آن پرداخت انجام داده‌اید (اختیاری)', exact=True).fill('')
expect(self.page.locator('#id_deposit_id')).not_to_have_attribute('required', '')
self.page.locator('#id_paid_amount').fill('۱۲۳۴۵')
expect(self.page.locator('#id_paid_amount')).to_have_value('۱۲٬۳۴۵')
self.page.get_by_role('button', name='امروز', exact=True).click()
self.page.locator('#id_receipt_image').set_input_files({'name': 'payment.png', 'mimeType': 'image/png', 'buffer': png})
self.page.get_by_role('button', name='ثبت و ارسال فیش', exact=True).click()
expect(self.page.locator('.flash')).to_contain_text('فیش ثبت شد و در انتظار بررسی است.')