Quiz Stats - don't count teacher previews
Exclude preview quiz submission from student analysis (item analysis was already accounting for this) based on the "was_preview" field. Closes CNVS-8203 TEST PLAN ---- ---- - create a quiz - take it as a preview by the teacher - request the stats from the API (or visit ember quiz stats) - verify that your attempt does not show up - take it by a student - verify everything is ok - now preview it again as a teacher - verify your attempt still doesn't add to the stats Change-Id: I62bf1dd6c0bedb26ee55d029ac0f015b2ad48e91 Reviewed-on: https://gerrit.instructure.com/35954 Tested-by: Jenkins <jenkins@instructure.com> Reviewed-by: Derek DeVries <ddevries@instructure.com> QA-Review: Clare Strong <clare@instructure.com> Product-Review: Derek DeVries <ddevries@instructure.com>
This commit is contained in:
parent
6bd7c07b78
commit
8b9e82ade8
|
@ -309,7 +309,7 @@ class Quizzes::QuizStatistics::StudentAnalysis < Quizzes::QuizStatistics::Report
|
|||
#submissions from users
|
||||
for_users = quiz.context.student_ids
|
||||
scope = quiz.quiz_submissions.where(:user_id => for_users)
|
||||
logged_out = quiz.quiz_submissions.logged_out
|
||||
logged_out = quiz.quiz_submissions.logged_out.where('NOT was_preview')
|
||||
|
||||
all_submissions = []
|
||||
all_submissions = prep_submissions scope
|
||||
|
|
|
@ -316,6 +316,26 @@ describe Quizzes::QuizStatistics::StudentAnalysis do
|
|||
stats.last[9].should == "lolcats,lolrus"
|
||||
end
|
||||
|
||||
it 'should not count teacher preview submissions' do
|
||||
teacher_in_course(:active_all => true)
|
||||
q = @course.quizzes.create!
|
||||
q.update_attribute(:published_at, Time.now)
|
||||
q.quiz_questions.create!(:question_data => {:name => 'q1', :points_possible => 1, 'question_type' => 'multiple_choice_question', 'answers' => [{'answer_text' => '', 'answer_html' => '<em>zero</em>', 'answer_weight' => '100'}, {'answer_text' => "", 'answer_html' => "<p>one</p>", 'answer_weight' => '0'}]})
|
||||
q.quiz_questions.create!(:question_data => {:name => 'q2', :points_possible => 1, 'question_type' => 'multiple_answers_question', 'answers' => [{'answer_text' => '', 'answer_html' => "<a href='http://example.com/caturday.gif'>lolcats</a>", 'answer_weight' => '100'}, {'answer_text' => 'lolrus', 'answer_weight' => '100'}]})
|
||||
q.generate_quiz_data
|
||||
q.save
|
||||
qs = q.generate_submission(@teacher, true)
|
||||
qs.submission_data = {
|
||||
"question_#{q.quiz_data[0][:id]}" => "#{q.quiz_data[0][:answers][0][:id]}",
|
||||
"question_#{q.quiz_data[1][:id]}_answer_#{q.quiz_data[1][:answers][0][:id]}" => "1",
|
||||
"question_#{q.quiz_data[1][:id]}_answer_#{q.quiz_data[1][:answers][1][:id]}" => "1"
|
||||
}
|
||||
Quizzes::SubmissionGrader.new(qs).grade_submission
|
||||
|
||||
stats = q.statistics
|
||||
stats[:unique_submission_count].should == 0
|
||||
end
|
||||
|
||||
describe 'question statistics' do
|
||||
subject { Quizzes::QuizStatistics::StudentAnalysis.new({}) }
|
||||
|
||||
|
|
Loading…
Reference in New Issue