api: exclude cancelled credits (#89810)
This commit is contained in:
parent
9352f2d0c7
commit
b48de48412
|
@ -408,6 +408,7 @@ class RefundSerializer(serializers.ModelSerializer):
|
|||
uuid=value,
|
||||
regie=self.regie,
|
||||
date_publication__lte=datetime.date.today(),
|
||||
cancelled_at__isnull=True,
|
||||
)
|
||||
except Credit.DoesNotExist:
|
||||
raise ValidationError(_('Unknown credit.'))
|
||||
|
|
|
@ -524,6 +524,7 @@ class InvoicingCredits(PayerMixin, APIView):
|
|||
remaining_amount__gt=0,
|
||||
payer_external_id=payer_external_id,
|
||||
date_publication__lte=datetime.date.today(),
|
||||
cancelled_at__isnull=True,
|
||||
).order_by('-created_at')
|
||||
|
||||
def get(self, request, regie_identifier):
|
||||
|
@ -566,6 +567,7 @@ class InvoicingHistoryCredits(InvoicingCredits):
|
|||
remaining_amount=0,
|
||||
payer_external_id=payer_external_id,
|
||||
date_publication__lte=datetime.date.today(),
|
||||
cancelled_at__isnull=True,
|
||||
).order_by('-created_at')
|
||||
|
||||
|
||||
|
@ -590,6 +592,7 @@ class InvoicingCreditPDF(PayerMixin, APIView):
|
|||
regie=regie,
|
||||
payer_external_id=payer_external_id,
|
||||
date_publication__lte=datetime.date.today(),
|
||||
cancelled_at__isnull=True,
|
||||
)
|
||||
result = credit.html()
|
||||
html = HTML(string=result)
|
||||
|
|
|
@ -3261,9 +3261,17 @@ def test_list_credits(mock_payer, app, user):
|
|||
assert resp.json['err'] == 0
|
||||
assert resp.json['data'] == []
|
||||
|
||||
# credit is cancelled
|
||||
credit.date_publication = datetime.date(2022, 10, 1)
|
||||
credit.cancelled_at = now()
|
||||
credit.save()
|
||||
resp = app.get('/api/regie/foo/credits/', params={'NameID': 'foobar'})
|
||||
assert resp.json['err'] == 0
|
||||
assert resp.json['data'] == []
|
||||
|
||||
# other regie
|
||||
other_regie = Regie.objects.create(label='Other Foo')
|
||||
credit.date_publication = datetime.date(2022, 10, 1)
|
||||
credit.cancelled_at = None
|
||||
credit.regie = other_regie
|
||||
credit.save()
|
||||
resp = app.get('/api/regie/foo/credits/', params={'NameID': 'foobar'})
|
||||
|
@ -3411,9 +3419,17 @@ def test_list_credits_for_payer(app, user):
|
|||
assert resp.json['err'] == 0
|
||||
assert resp.json['data'] == []
|
||||
|
||||
# credit is cancelled
|
||||
credit.date_publication = datetime.date(2022, 10, 1)
|
||||
credit.cancelled_at = now()
|
||||
credit.save()
|
||||
resp = app.get('/api/regie/foo/credits/', params={'payer_external_id': 'payer:1'})
|
||||
assert resp.json['err'] == 0
|
||||
assert resp.json['data'] == []
|
||||
|
||||
# other regie
|
||||
other_regie = Regie.objects.create(label='Other Foo')
|
||||
credit.date_publication = datetime.date(2022, 10, 1)
|
||||
credit.cancelled_at = None
|
||||
credit.regie = other_regie
|
||||
credit.save()
|
||||
resp = app.get('/api/regie/foo/credits/', params={'payer_external_id': 'payer:1'})
|
||||
|
@ -3561,9 +3577,17 @@ def test_list_history_credits(mock_payer, app, user):
|
|||
assert resp.json['err'] == 0
|
||||
assert resp.json['data'] == []
|
||||
|
||||
# credit is cancelled
|
||||
credit.date_publication = datetime.date(2022, 10, 1)
|
||||
credit.cancelled_at = now()
|
||||
credit.save()
|
||||
resp = app.get('/api/regie/foo/credits/history/', params={'NameID': 'foobar'})
|
||||
assert resp.json['err'] == 0
|
||||
assert resp.json['data'] == []
|
||||
|
||||
# other regie
|
||||
other_regie = Regie.objects.create(label='Other Foo')
|
||||
credit.date_publication = datetime.date(2022, 9, 1)
|
||||
credit.cancelled_at = None
|
||||
credit.regie = other_regie
|
||||
credit.save()
|
||||
resp = app.get('/api/regie/foo/credits/history/', params={'NameID': 'foobar'})
|
||||
|
@ -3710,9 +3734,17 @@ def test_list_history_credits_for_payer(app, user):
|
|||
assert resp.json['err'] == 0
|
||||
assert resp.json['data'] == []
|
||||
|
||||
# credit is cancelled
|
||||
credit.date_publication = datetime.date(2022, 10, 1)
|
||||
credit.cancelled_at = now()
|
||||
credit.save()
|
||||
resp = app.get('/api/regie/foo/credits/history/', params={'payer_external_id': 'payer:1'})
|
||||
assert resp.json['err'] == 0
|
||||
assert resp.json['data'] == []
|
||||
|
||||
# other regie
|
||||
other_regie = Regie.objects.create(label='Other Foo')
|
||||
credit.date_publication = datetime.date(2022, 9, 1)
|
||||
credit.cancelled_at = None
|
||||
credit.regie = other_regie
|
||||
credit.save()
|
||||
resp = app.get('/api/regie/foo/credits/history/', params={'payer_external_id': 'payer:1'})
|
||||
|
@ -3781,9 +3813,15 @@ def test_pdf_credit(mock_payer, app, user):
|
|||
credit.save()
|
||||
app.get('/api/regie/foo/credit/%s/pdf/' % str(credit.uuid), params={'NameID': 'foobar'}, status=404)
|
||||
|
||||
# credit is cancelled
|
||||
credit.date_publication = datetime.date(2022, 10, 1)
|
||||
credit.cancelled_at = now()
|
||||
credit.save()
|
||||
app.get('/api/regie/foo/credit/%s/pdf/' % str(credit.uuid), params={'NameID': 'foobar'}, status=404)
|
||||
|
||||
# other regie
|
||||
other_regie = Regie.objects.create(label='Other Foo')
|
||||
credit.date_publication = datetime.date(2022, 9, 1)
|
||||
credit.cancelled_at = None
|
||||
credit.regie = other_regie
|
||||
credit.save()
|
||||
app.get('/api/regie/foo/credit/%s/pdf/' % str(credit.uuid), params={'NameID': 'foobar'}, status=404)
|
||||
|
@ -3869,9 +3907,19 @@ def test_pdf_credit_for_payer(app, user):
|
|||
status=404,
|
||||
)
|
||||
|
||||
# credit is cancelled
|
||||
credit.date_publication = datetime.date(2022, 10, 1)
|
||||
credit.cancelled_at = now()
|
||||
credit.save()
|
||||
app.get(
|
||||
'/api/regie/foo/credit/%s/pdf/' % str(credit.uuid),
|
||||
params={'payer_external_id': 'payer:1'},
|
||||
status=404,
|
||||
)
|
||||
|
||||
# other regie
|
||||
other_regie = Regie.objects.create(label='Other Foo')
|
||||
credit.date_publication = datetime.date(2022, 9, 1)
|
||||
credit.cancelled_at = None
|
||||
credit.regie = other_regie
|
||||
credit.save()
|
||||
app.get(
|
||||
|
@ -3995,6 +4043,24 @@ def test_add_refund(app, user):
|
|||
resp = app.post('/api/regie/foo/refunds/', params=params, status=400)
|
||||
assert resp.json['err']
|
||||
assert resp.json['errors'] == {'credit': ['Unknown credit.']}
|
||||
other_credit = Credit.objects.create(
|
||||
date_publication=datetime.date(2022, 10, 1),
|
||||
regie=regie,
|
||||
payer_external_id='payer:1',
|
||||
cancelled_at=now(), # cancelled
|
||||
)
|
||||
CreditLine.objects.create(
|
||||
credit=other_credit,
|
||||
event_date=datetime.date(2022, 9, 1),
|
||||
quantity=3,
|
||||
unit_amount=1,
|
||||
)
|
||||
params = {
|
||||
'credit': str(other_credit.uuid),
|
||||
}
|
||||
resp = app.post('/api/regie/foo/refunds/', params=params, status=400)
|
||||
assert resp.json['err']
|
||||
assert resp.json['errors'] == {'credit': ['Unknown credit.']}
|
||||
campaign = Campaign.objects.create(
|
||||
regie=regie,
|
||||
date_start=datetime.date(2022, 9, 1),
|
||||
|
|
Loading…
Reference in New Issue