def test_readable_id_invalid(readable_id_value): """ Test that the Program/Course readable_id field rejects invalid values, and that validation is performed when a save is attempted. """ program = ProgramFactory.build(readable_id=readable_id_value) with pytest.raises(ValidationError): program.save() course = CourseFactory.build(program=None, readable_id=readable_id_value) with pytest.raises(ValidationError): course.save()
def test_readable_id_valid(readable_id_value): """ Test that the Program/Course readable_id field accepts valid values, and that validation is performed when a save is attempted. """ program = ProgramFactory.build(readable_id=readable_id_value) program.save() assert program.id is not None course = CourseFactory.build(program=None, readable_id=readable_id_value) course.save() assert course.id is not None
def test_course_save_publishes(self): """ When course is saved, it should trigger webhook. """ bi = BackingInstanceFactory.create() course = CourseFactory.build(edx_instance=bi) with mock.patch('courses.signals.publish_webhook', autospec=True) as wh_mock: course.save() assert wh_mock.delay.call_count == 1 args, _ = wh_mock.delay.call_args assert args[0] == 'courses.Course' assert args[1] == 'uuid' assert args[2] == str(course.uuid)