@@ -485,6 +485,57 @@ def enable_quizzes_next(course)
485485 end
486486 end
487487
488+ describe "quiz_question" do
489+ context "quiz with assignment" do
490+ it "posts assignment_updated when a question is created" do
491+ allow ( Canvas ::LiveEvents ) . to receive ( :assignment_updated )
492+ quiz_model ( quiz_type : "assignment" )
493+ assignment = @quiz . reload . assignment
494+ expect ( Canvas ::LiveEvents ) . to receive ( :assignment_updated ) . with ( assignment )
495+ @quiz . quiz_questions . create! ( question_data : { name : "Q1" , question_type : "true_false_question" , points_possible : 1 } )
496+ end
497+
498+ it "posts assignment_updated when a question is updated" do
499+ allow ( Canvas ::LiveEvents ) . to receive ( :assignment_updated )
500+ quiz_model ( quiz_type : "assignment" )
501+ question = @quiz . quiz_questions . create! ( question_data : { name : "Q1" , question_type : "true_false_question" , points_possible : 1 } )
502+ assignment = @quiz . reload . assignment
503+ expect ( Canvas ::LiveEvents ) . to receive ( :assignment_updated ) . with ( assignment )
504+ question . update! ( question_data : { name : "Q1 updated" , question_type : "true_false_question" , points_possible : 1 } )
505+ end
506+ end
507+
508+ context "quiz without assignment (practice_quiz)" do
509+ before { course_factory }
510+
511+ it "posts quiz_updated when a question is created" do
512+ allow ( Canvas ::LiveEvents ) . to receive ( :quiz_updated )
513+ quiz = @course . quizzes . create! ( title : "Practice Quiz" , quiz_type : "practice_quiz" )
514+ expect ( Canvas ::LiveEvents ) . to receive ( :quiz_updated ) . with ( quiz )
515+ quiz . quiz_questions . create! ( question_data : { name : "Q1" , question_type : "true_false_question" , points_possible : 1 } )
516+ end
517+
518+ it "posts quiz_updated when a question is updated" do
519+ allow ( Canvas ::LiveEvents ) . to receive ( :quiz_updated )
520+ quiz = @course . quizzes . create! ( title : "Practice Quiz" , quiz_type : "practice_quiz" )
521+ question = quiz . quiz_questions . create! ( question_data : { name : "Q1" , question_type : "true_false_question" , points_possible : 1 } )
522+ expect ( Canvas ::LiveEvents ) . to receive ( :quiz_updated ) . with ( quiz )
523+ question . update! ( question_data : { name : "Q1 updated" , question_type : "true_false_question" , points_possible : 1 } )
524+ end
525+ end
526+
527+ context "quiz without assignment (survey)" do
528+ before { course_factory }
529+
530+ it "posts quiz_updated when a question is created" do
531+ allow ( Canvas ::LiveEvents ) . to receive ( :quiz_updated )
532+ quiz = @course . quizzes . create! ( title : "Survey" , quiz_type : "survey" )
533+ expect ( Canvas ::LiveEvents ) . to receive ( :quiz_updated ) . with ( quiz )
534+ quiz . quiz_questions . create! ( question_data : { name : "Q1" , question_type : "true_false_question" , points_possible : 1 } )
535+ end
536+ end
537+ end
538+
488539 describe "content_migration_completed" do
489540 it "posts update events" do
490541 expect ( Canvas ::LiveEvents ) . to receive ( :content_migration_completed ) . once
0 commit comments