Skip to content

Commit 2548c2c

Browse files
committed
refactor: Make the test easier to debug in the future.
This test had a redundant call to get the course data from the store because that already happens at the end of the setup function. And also because expected call structure was being built inside the assert, it made it harder to inspect when debugging. Make the code a little bit easire to debug in case we're back here in the future.
1 parent d2c33c4 commit 2548c2c

File tree

1 file changed

+30
-32
lines changed

1 file changed

+30
-32
lines changed

lms/djangoapps/grades/tests/integration/test_events.py

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -84,40 +84,38 @@ def setUp(self):
8484
@patch('lms.djangoapps.grades.events.tracker')
8585
def test_submit_answer(self, events_tracker):
8686
self.submit_question_answer('p1', {'2_1': 'choice_choice_2'})
87-
course = self.store.get_course(self.course.id, depth=0)
8887

8988
event_transaction_id = events_tracker.emit.mock_calls[0][1][1]['event_transaction_id']
90-
events_tracker.emit.assert_has_calls(
91-
[
92-
mock_call(
93-
events.PROBLEM_SUBMITTED_EVENT_TYPE,
94-
{
95-
'user_id': str(self.student.id),
96-
'event_transaction_id': event_transaction_id,
97-
'event_transaction_type': events.PROBLEM_SUBMITTED_EVENT_TYPE,
98-
'course_id': str(self.course.id),
99-
'problem_id': str(self.problem.location),
100-
'weighted_earned': 2.0,
101-
'weighted_possible': 2.0,
102-
},
103-
),
104-
mock_call(
105-
events.COURSE_GRADE_CALCULATED,
106-
{
107-
'course_version': str(course.course_version),
108-
'percent_grade': 0.02,
109-
'grading_policy_hash': 'ChVp0lHGQGCevD0t4njna/C44zQ=',
110-
'user_id': str(self.student.id),
111-
'letter_grade': '',
112-
'event_transaction_id': event_transaction_id,
113-
'event_transaction_type': events.PROBLEM_SUBMITTED_EVENT_TYPE,
114-
'course_id': str(self.course.id),
115-
'course_edited_timestamp': str(course.subtree_edited_on),
116-
}
117-
),
118-
],
119-
any_order=True,
120-
)
89+
expected_calls = [
90+
mock_call(
91+
events.PROBLEM_SUBMITTED_EVENT_TYPE,
92+
{
93+
'user_id': str(self.student.id),
94+
'event_transaction_id': event_transaction_id,
95+
'event_transaction_type': events.PROBLEM_SUBMITTED_EVENT_TYPE,
96+
'course_id': str(self.course.id),
97+
'problem_id': str(self.problem.location),
98+
'weighted_earned': 2.0,
99+
'weighted_possible': 2.0,
100+
},
101+
),
102+
mock_call(
103+
events.COURSE_GRADE_CALCULATED,
104+
{
105+
'course_version': str(self.course.course_version),
106+
'percent_grade': 0.02,
107+
'grading_policy_hash': 'ChVp0lHGQGCevD0t4njna/C44zQ=',
108+
'user_id': str(self.student.id),
109+
'letter_grade': '',
110+
'event_transaction_id': event_transaction_id,
111+
'event_transaction_type': events.PROBLEM_SUBMITTED_EVENT_TYPE,
112+
'course_id': str(self.course.id),
113+
'course_edited_timestamp': str(self.course.subtree_edited_on),
114+
}
115+
),
116+
]
117+
118+
events_tracker.emit.assert_has_calls(expected_calls, any_order=True)
121119

122120
@ddt.data(True, False)
123121
def test_delete_student_state(self, emit_signals):

0 commit comments

Comments
 (0)