def test_error_on_duplicate_order(self, order_status, decision):
"""If there is a duplicate message (except for CANCEL), raise an exception"""
course_run, user = create_purchasable_course_run()
order = create_unfulfilled_order(course_run.edx_course_key, user)
order.status = order_status
order.save()
data = {
'req_reference_number': make_reference_id(order),
'decision': decision,
}
with patch(
'ecommerce.views.IsSignedByCyberSource.has_permission',
return_value=True
), self.assertRaises(EcommerceException) as ex:
self.client.post(reverse('order-fulfillment'), data=data)
assert Order.objects.count() == 1
assert Order.objects.get(id=order.id).status == order_status
assert ex.exception.args[0] == "Order {id} is expected to have status 'created'".format(
id=order.id,
)
评论列表
文章目录