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

34 lines
1.9 KiB
Python

from django.urls import reverse
from playwright.sync_api import expect
from .base import BasePage
class PaymentsPage(BasePage):
def select_customer(self, mobile):
self.page.get_by_label('جست‌وجو و انتخاب مشتری', exact=False).fill(mobile)
result = self.page.locator('.pay-customer-result').filter(has_text=mobile)
result.get_by_role('button', name='انتخاب این مشتری', exact=True).click()
expect(self.page.locator('[data-selected-customer]')).to_contain_text(mobile)
def open_hub(self):
self.goto(reverse('payments:home'))
expect(self.page.get_by_role('heading',name='چهارسو',exact=True)).to_be_visible()
def send_receipt(self, account_id, png, linked=False):
self.goto(reverse('payments:receipt_new'))
if not linked:
self.page.get_by_label('واریز مستقل',exact=True).check()
self.page.locator('#id_paid_amount').fill('۱۲۳۴۵')
self.page.locator('#id_destination_account').select_option(str(account_id))
self.page.get_by_role('button',name='امروز',exact=True).click()
self.page.locator('#id_receipt_image').set_input_files({'name':'receipt.png','mimeType':'image/png','buffer':png})
self.page.get_by_role('button',name='ثبت و ارسال فیش').click()
expect(self.page.locator('.flash')).to_contain_text('فیش ثبت شد و در انتظار بررسی است.')
def approve(self, receipt_id, senior=False):
self.goto(reverse('staff_payments:receipt_detail',args=[receipt_id]))
if senior:
self.page.locator('#decision-reason').fill('تطبیق پرداخت بررسی شد')
self.page.get_by_role('button',name='تأیید نهایی ارشد' if senior else 'ثبت تأیید من',exact=True).click()
expect(self.page.locator('.flash')).to_contain_text('تصمیم ثبت شد.')