Wait until the expected result is fetched in Stripe test scenario

Closes #12221
(grafted from 308c41a979f1ed1ffdd713f2dd00a729c902bb0d)

--HG--
branch : 6.0
This commit is contained in:
Cédric Krier committed 2023-12-02 12:02:10 +01:00
1 parent 7fe6dc83e8
commit b47ea881ad
3 files changed
+85 -36

No files matched your search

@@ -16,6 +16,8 @@ Imports::
>>> from trytond.modules.account.tests.tools import create_fiscalyear, \
... create_chart, get_accounts
>>> FETCH_SLEEP, MAX_SLEEP = 1, 10
Activate modules::
>>> config = activate_modules('account_payment_stripe')
@@ -119,9 +121,12 @@ Process the payment::
>>> payment.state
'processing'
>>> time.sleep(1)
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.state == 'succeeded':
... break
... time.sleep(FETCH_SLEEP)
>>> payment.state
'succeeded'
>>> bool(payment.stripe_captured)
@@ -228,9 +233,12 @@ Make payment with customer::
>>> payment.state
'processing'
>>> time.sleep(1)
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.state == 'succeeded':
... break
... time.sleep(FETCH_SLEEP)
>>> payment.state
'succeeded'
@@ -304,9 +312,12 @@ Capture lower amount::
>>> payment.state
'processing'
>>> time.sleep(1)
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.state == 'succeeded':
... break
... time.sleep(FETCH_SLEEP)
>>> payment.state
'succeeded'
>>> bool(payment.stripe_captured)
@@ -323,9 +334,13 @@ Refund some amount::
... ('method', '=', 'account.payment.stripe.refund|stripe_create'),
... ])
>>> cron_refund_create.click('run_once')
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.amount == Decimal('2.00'):
... break
... time.sleep(FETCH_SLEEP)
>>> payment.amount
Decimal('2.00')
>>> payment.state
@@ -341,9 +356,13 @@ Simulate charge.refunded event with full amount::
>>> refund.amount = Decimal('2')
>>> refund.click('approve')
>>> cron_refund_create.click('run_once')
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.amount == Decimal('0.00'):
... break
... time.sleep(FETCH_SLEEP)
>>> payment.amount
Decimal('0.00')
>>> payment.state
@@ -359,7 +378,12 @@ Try to refund more::
>>> refund.amount = Decimal('10')
>>> refund.click('approve')
>>> cron_refund_create.click('run_once')
>>> cron_fetch_events.click('run_once')
>>> refund.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... refund.reload()
... if refund.state == 'failed':
... break
... time.sleep(FETCH_SLEEP)
>>> refund.state
'failed'
@@ -16,6 +16,8 @@ Imports::
>>> from trytond.modules.account.tests.tools import create_fiscalyear, \
... create_chart, get_accounts
>>> FETCH_SLEEP, MAX_SLEEP = 1, 10
Activate modules::
>>> config = activate_modules('account_payment_stripe')
@@ -102,9 +104,12 @@ Create fully disputed payment::
>>> payment.state
'processing'
>>> time.sleep(1)
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.state == 'succeeded':
... break
... time.sleep(FETCH_SLEEP)
>>> payment.state
'succeeded'
>>> bool(payment.stripe_captured)
@@ -195,9 +200,12 @@ Create partial disputed payment::
>>> payment.state
'processing'
>>> time.sleep(1)
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.state == 'succeeded':
... break
... time.sleep(FETCH_SLEEP)
>>> payment.state
'succeeded'
>>> bool(payment.stripe_captured)
@@ -266,9 +274,12 @@ Create won disputed payment::
>>> payment.state
'processing'
>>> time.sleep(1)
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.state == 'succeeded':
... break
... time.sleep(FETCH_SLEEP)
>>> payment.state
'succeeded'
>>> bool(payment.stripe_captured)
@@ -280,9 +291,12 @@ Simulate charge.dispute.closed event::
>>> dispute = stripe.Dispute.modify(charge.dispute,
... evidence={'uncategorized_text': 'winning_evidence'})
>>> time.sleep(1)
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.state == 'succeeded':
... break
... time.sleep(FETCH_SLEEP)
>>> payment.state
'succeeded'
>>> payment.amount
@@ -16,6 +16,8 @@ Imports::
>>> from trytond.modules.account.tests.tools import create_fiscalyear, \
... create_chart, get_accounts
>>> FETCH_SLEEP, MAX_SLEEP = 1, 10
Activate modules::
>>> config = activate_modules('account_payment_stripe')
@@ -118,9 +120,12 @@ Process off-session the payment::
>>> payment.state
'processing'
>>> time.sleep(1)
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.state == 'succeeded':
... break
... time.sleep(FETCH_SLEEP)
>>> payment.state
'succeeded'
>>> bool(payment.stripe_captured)
@@ -138,9 +143,12 @@ Refund the payment::
... ])
>>> cron_refund_create.click('run_once')
>>> time.sleep(1)
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.state == 'failed':
... break
... time.sleep(FETCH_SLEEP)
>>> payment.state
'failed'
@@ -166,8 +174,11 @@ Cancel payment intent::
>>> _ = stripe.PaymentIntent.cancel(payment.stripe_payment_intent_id)
>>> time.sleep(1)
>>> cron_fetch_events.click('run_once')
>>> payment.reload()
>>> for _ in range(MAX_SLEEP):
... cron_fetch_events.click('run_once')
... payment.reload()
... if payment.state == 'failed':
... break
... time.sleep(FETCH_SLEEP)
>>> payment.state
'failed'