← Back to All Reports
TESTS FAILED (0%)
Job Name
billing_test03
Pipeline ID
Job ID
#4447886
Branch
master
Commit
N/A
Executed At
2026-10-13T08:12:24.225311
0
Passed
6
Failed
0
Skipped

Test Results (6 tests)

test_bi02_upgrade_plan_via_change_plan_button[chromium]
failed
⏱️ Duration: 69.57s
❌ Error:
sign_up_page = <pages.sign_up_page.SignUpPage object at 0x7f24a51f8670> pricing_page = <pages.pricing_page.PricingPage object at 0x7f24a4f61d80> billing_page = <pages.billing_page.BillingPage object at 0x7f24a4f620b0> base_url = 'https://test03.testingpromo.com' @pytest.mark.skip_prod def test_bi02_upgrade_plan_via_change_plan_button( sign_up_page, pricing_page, billing_page, base_url ): """ Bi02 User can upgrade his plan using Change plan button. Basic Monthly user opens Billing, clicks Change Plan, buys Standard Annual from the embedded pricing widget, and ends up on the Standard plan. """ email = f"promo.auto.bi02.{uuid.uuid4().hex[:8]}@promo.com" _signup_and_purchase_plan( sign_up_page, pricing_page, base_url, email, PricingPage.BASIC_MONTHLY_CTA, monthly=True, ) > billing_page.go_to_billing_url(base_url) tests/billing/test_billing.py:82: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/billing_page.py:104: in go_to_billing_url self.page.goto(f"{base_url}{self.BILLING_PATH}") /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:9875: in goto self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:560: in goto return await self._main_frame.goto(**locals_to_params(locals())) /usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:156: in goto await self._channel.send( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send return await self._connection.wrap_api_call( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <playwright._impl._connection.Connection object at 0x7f24a51f8e80> cb = <function Channel.send.<locals>.<lambda> at 0x7f24a4106c20> is_internal = False, title = None async def wrap_api_call( self, cb: Callable[[], Any], is_internal: bool =
📸 Failure Screenshot:
Test failure screenshot
test_bi03_downgrade_plan_via_change_plan_button[chromium]
failed
⏱️ Duration: 37.93s
❌ Error:
sign_up_page = <pages.sign_up_page.SignUpPage object at 0x7f249e610340> pricing_page = <pages.pricing_page.PricingPage object at 0x7f249e6107c0> billing_page = <pages.billing_page.BillingPage object at 0x7f249e611180> base_url = 'https://test03.testingpromo.com' @pytest.mark.skip_prod def test_bi03_downgrade_plan_via_change_plan_button( sign_up_page, pricing_page, billing_page, base_url ): """ Bi03 User can downgrade his plan using Change plan button. Standard Annual user opens Billing, clicks Change Plan, selects Basic Monthly from the embedded widget, closes the confirmation, and ends up with a pending downgrade (still on Standard until period end). """ email = f"promo.auto.bi03.{uuid.uuid4().hex[:8]}@promo.com" > _signup_and_purchase_plan( sign_up_page, pricing_page, base_url, email, PricingPage.STANDARD_ANNUAL_CTA, monthly=False, ) tests/billing/test_billing.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/billing/test_billing.py:57: in _signup_and_purchase_plan pricing_page.go_to_pricing_via_header() pages/pricing_page.py:98: in go_to_pricing_via_header profile_menu.wait_for(state="visible", timeout=self.T_LOAD) /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20539: in wait_for self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:748: in wait_for await self._frame.wait_for_selector( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:394: in wait_for_selector await self._channel.send( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send return await self._connection.wrap_api_call( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <playwright._impl._connection.Connection object at 0x7f24a51f8e80> cb = <function Channel.send.<locals>.<lam
📸 Failure Screenshot:
Test failure screenshot
test_bi04_update_payment_method_and_email[chromium]
failed
⏱️ Duration: 30.01s
❌ Error:
sign_up_page = <pages.sign_up_page.SignUpPage object at 0x7f24a41a07c0> pricing_page = <pages.pricing_page.PricingPage object at 0x7f24a41a2aa0> billing_page = <pages.billing_page.BillingPage object at 0x7f24a41a18a0> base_url = 'https://test03.testingpromo.com' @pytest.mark.skip_prod def test_bi04_update_payment_method_and_email( sign_up_page, pricing_page, billing_page, base_url ): """ Bi04 User can update his payment method and email address. Pro Annual user opens Billing, updates the card to a different valid test card, updates the billing email, and both changes are reflected. """ email = f"promo.auto.bi04.{uuid.uuid4().hex[:8]}@promo.com" > _signup_and_purchase_plan( sign_up_page, pricing_page, base_url, email, PricingPage.PRO_ANNUAL_CTA, monthly=False, ) tests/billing/test_billing.py:136: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/billing/test_billing.py:44: in _signup_and_purchase_plan sign_up_page.create_account( pages/sign_up_page.py:45: in create_account self.page.goto(f"{base_url}/signup") /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:9875: in goto self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:560: in goto return await self._main_frame.goto(**locals_to_params(locals())) /usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:156: in goto await self._channel.send( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send return await self._connection.wrap_api_call( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <playwright._impl._connection.Connection object at 0x7f24a51f8e80> cb = <function Channel.send.<locals>.<lambda> at 0x7f249e5f2b00> is_internal = False, title = None async def wrap_api_call( self, cb: Callable[[], Any],
test_bi05_standard_user_redirected_from_upgrade_page[chromium]
failed
⏱️ Duration: 30.01s
❌ Error:
sign_up_page = <pages.sign_up_page.SignUpPage object at 0x7f249d36f7c0> pricing_page = <pages.pricing_page.PricingPage object at 0x7f249d36f0d0> billing_page = <pages.billing_page.BillingPage object at 0x7f249d36f550> base_url = 'https://test03.testingpromo.com' @pytest.mark.skip_prod_skip_smoke def test_bi05_standard_user_redirected_from_upgrade_page( sign_up_page, pricing_page, billing_page, base_url ): """ Bi05 Standard user tries to access upgrade page but is redirected to billing. A Standard Monthly user (already on the plan the upgrade page sells) is redirected straight to Billing instead of seeing the upgrade offer. """ email = f"promo.auto.bi05.{uuid.uuid4().hex[:8]}@promo.com" > _signup_and_purchase_plan( sign_up_page, pricing_page, base_url, email, PricingPage.STANDARD_MONTHLY_CTA, monthly=True, ) tests/billing/test_billing.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/billing/test_billing.py:44: in _signup_and_purchase_plan sign_up_page.create_account( pages/sign_up_page.py:45: in create_account self.page.goto(f"{base_url}/signup") /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:9875: in goto self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:560: in goto return await self._main_frame.goto(**locals_to_params(locals())) /usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:156: in goto await self._channel.send( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send return await self._connection.wrap_api_call( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <playwright._impl._connection.Connection object at 0x7f24a51f8e80> cb = <function Channel.send.<locals>.<lambda> at 0x7f24a4104ee0> is_internal = False, title = None async def wrap_
test_bi06_basic_monthly_upgrades_via_upgrade_page[chromium]
failed
⏱️ Duration: 20.18s
❌ Error:
sign_up_page = <pages.sign_up_page.SignUpPage object at 0x7f249d505d80> pricing_page = <pages.pricing_page.PricingPage object at 0x7f249d506cb0> billing_page = <pages.billing_page.BillingPage object at 0x7f249d5060b0> base_url = 'https://test03.testingpromo.com' @pytest.mark.skip_prod_skip_smoke def test_bi06_basic_monthly_upgrades_via_upgrade_page( sign_up_page, pricing_page, billing_page, base_url ): """ Bi06 Basic monthly user upgrades plan to standard via the upgrade page. """ email = f"promo.auto.bi06.{uuid.uuid4().hex[:8]}@promo.com" > _signup_and_purchase_plan( sign_up_page, pricing_page, base_url, email, PricingPage.BASIC_MONTHLY_CTA, monthly=True, ) tests/billing/test_billing.py:186: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/billing/test_billing.py:44: in _signup_and_purchase_plan sign_up_page.create_account( pages/sign_up_page.py:46: in create_account self.page.locator(self.FULL_NAME_INPUT).wait_for(state="visible", timeout=self.T_SLOW) /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20539: in wait_for self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:748: in wait_for await self._frame.wait_for_selector( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:394: in wait_for_selector await self._channel.send( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send return await self._connection.wrap_api_call( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <playwright._impl._connection.Connection object at 0x7f24a51f8e80> cb = <function Channel.send.<locals>.<lambda> at 0x7f24a421fd90> is_internal = False, title = None async def wrap_api_call( self, cb: Callable[[], Any], is_internal: bool = False, title: str = None ) -> Any: if self._api
📸 Failure Screenshot:
Test failure screenshot
test_bi07_basic_annual_upgrades_via_upgrade_page[chromium]
failed
⏱️ Duration: 20.19s
❌ Error:
sign_up_page = <pages.sign_up_page.SignUpPage object at 0x7f249d55ff70> pricing_page = <pages.pricing_page.PricingPage object at 0x7f249d55f6a0> billing_page = <pages.billing_page.BillingPage object at 0x7f249d55fb80> login_page = <pages.login_page.LoginPage object at 0x7f249e63cf40> base_url = 'https://test03.testingpromo.com' @pytest.mark.skip_prod_skip_smoke def test_bi07_basic_annual_upgrades_via_upgrade_page( sign_up_page, pricing_page, billing_page, login_page, base_url ): """ Bi07 Basic annual user upgrades plan to standard via the upgrade page. Covers the signed-out edge case: the upgrade page is reachable while logged out, attempting to upgrade surfaces an inline login form, and completing login finishes the upgrade. Scope note: the source scenario also asserts the Monthly/Annual toggle is hidden on this page (both signed out and signed back in). Verified empirically (2026-09-13) that the toggle IS visible for a signed-out visitor on the current product — that assertion no longer reflects real behavior (the source itself flagged this exact step as "to_improve... please review" even at the time it was written), so it was dropped rather than encoding a false expectation. """ email = f"promo.auto.bi07.{uuid.uuid4().hex[:8]}@promo.com" > _signup_and_purchase_plan( sign_up_page, pricing_page, base_url, email, PricingPage.BASIC_ANNUAL_CTA, monthly=False, ) tests/billing/test_billing.py:226: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/billing/test_billing.py:44: in _signup_and_purchase_plan sign_up_page.create_account( pages/sign_up_page.py:46: in create_account self.page.locator(self.FULL_NAME_INPUT).wait_for(state="visible", timeout=self.T_SLOW) /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20539: in wait
📸 Failure Screenshot:
Test failure screenshot