def test_already_purchased(self, has_to_pay):
"""
Purchasable course runs must not be already purchased
"""
course_run, user = create_purchasable_course_run()
order = create_unfulfilled_order(course_run.edx_course_key, user)
# succeeds because order is unfulfilled
assert course_run == get_purchasable_course_run(course_run.edx_course_key, user)
order.status = Order.FULFILLED
order.save()
with self.assertRaises(ValidationError) as ex:
get_purchasable_course_run(course_run.edx_course_key, user)
assert ex.exception.args[0] == 'Course run {} is already purchased'.format(course_run.edx_course_key)
assert has_to_pay.call_count == 1
评论列表
文章目录