tests: factorize single payment regie fixture (#47477)

This commit is contained in:
Benjamin Dauvergne 2020-10-23 16:57:05 +02:00
parent e1887d0384
commit 543debcc2e
1 changed files with 11 additions and 9 deletions

View File

@ -1561,11 +1561,16 @@ def test_bank_transaction_date(app, key, regie, user, john_doe, caplog, transact
assert 'new transaction_date for transaction' in caplog.text
def test_successfull_items_can_pay_only_one_basket_item(app, basket_page, regie, user):
@pytest.fixture
def mono_regie(regie):
regie.can_pay_only_one_basket_item = True
regie.save()
item = BasketItem.objects.create(user=user, regie=regie, amount=42, subject='foo item')
BasketItem.objects.create(user=user, regie=regie, amount=84, subject='bar item')
return regie
def test_successfull_items_can_pay_only_one_basket_item(app, basket_page, mono_regie, user):
item = BasketItem.objects.create(user=user, regie=mono_regie, amount=42, subject='foo item')
BasketItem.objects.create(user=user, regie=mono_regie, amount=84, subject='bar item')
resp = login(app).get('/test_basket_cell/')
assert 'foo item' in resp.text
@ -1578,7 +1583,7 @@ def test_successfull_items_can_pay_only_one_basket_item(app, basket_page, regie,
assert qs['subject'][0] == 'foo item', 'item.subject was not provided to eopayment'
args = {'transaction_id': qs['transaction_id'][0], 'signed': True, 'ok': True, 'reason': 'Paid'}
with mock.patch('combo.utils.requests_wrapper.RequestsSession.request'):
resp = app.get(get_url(True, 'lingo-callback', regie), params=args)
resp = app.get(get_url(True, 'lingo-callback', mono_regie), params=args)
resp = app.get('/test_basket_cell/')
assert 'foo item' not in resp.text
@ -1586,10 +1591,7 @@ def test_successfull_items_can_pay_only_one_basket_item(app, basket_page, regie,
@mock.patch('combo.apps.lingo.models.BasketItem.get_items_to_be_paid')
def test_failure_can_only_pay_one_basket_item(get_items_to_be_paid, app, regie, user, user_name_id, caplog):
regie.can_pay_only_one_basket_item = True
regie.save()
def test_failure_can_only_pay_one_basket_item(get_items_to_be_paid, app, mono_regie, user, user_name_id, caplog):
item = mock.Mock(spec=['capture_date'], capture_date=None)
get_items_to_be_paid.return_value.filter.return_value = [item, item]
@ -1599,7 +1601,7 @@ def test_failure_can_only_pay_one_basket_item(get_items_to_be_paid, app, regie,
assert '_messages' not in app.session
assert len(caplog.records) == 0
response = app.post('/lingo/pay', params={
'regie': regie.id,
'regie': mono_regie.id,
'csrfmiddlewaretoken': token,
})
assert 'Grouping basket items is not allowed.' in app.session['_messages']