canvas-lms/spec/serializers
Ahmad Amireh 45260fa4b9 QLA - Table view / answer matrix
A table view that lists all the answers to all questions with lots of
options. The view is restricted to Support SiteAdmins only.

Closes CNVS-17165

Backend/API Changes:

  - QuizSubmissionEvents#index is now paginated

  - Added a new account-level permission :view_quiz_answer_audits to
    control the visiblity of the answer matrix. You can test this on the
    quiz using "quiz.grants_right?(user, :view_answer_audits)"

Client app changes:

  - Fixed a race issue when loading environment-specific config;
    sometimes would cause the tests to fail because the test suite would
    run before the test config was loaded

  - Moved the decoration of QUESTION_ANSWERED events to a separate
    module and now it is done only once at fetch-time, instead of once
    per render

  - Simplified a lot of book-keeping that was done in the Events store
    by using query & URL parameters

  - A global loading indicator prop "isLoading" which is managed by the
    root route in routes/app.jsx - if you want to create a nicer loading
    indicator, this would be the place to edit

  - Moved all "devDependencies" into "dependencies" in package.json so
    now we can just do "npm shrinkwrap" without any flags to generate
    the shrinkwrap.

  - grunt watch task is now smart enough to pick up the current app
    we're working on. Doing `grunt server:events` will watch all the
    files in /apps/events and run the test suite only for that app. :)

Doc changes:

  - Defined a new JSDuck tag @seed that allows us to inspect React
    components in real-time in the docs! Every @seed tag you define will
    accept a JSON construct (or a file that contains JSON) and will
    inject that into the rendered component, so you can show off
    different states and usages in the documentation itself.

TEST PLAN
---- ----

  - create a large quiz with a lot of questions and multiple attempts
  - take it a few times, do many things like answering questions,
    tabbing out and back in, flagging/unflagging questions, etc.
  - go to the log view
    + make sure you enable the new permission for your user from the
      "Manage Permissions" page in the SiteAdmin settings
    + verify you see the "View Table" button
    + click it, and verify the table works as expected
  - go back to the Stream View
  - click on a question link
    + in the question page, verify that the answers are rendered in a
      friendly version (e.g, MultipleChoice answers are shown as radio
      buttons, with the student's answer selected)
    + hop to other questions/types and verify the same thing

Change-Id: I0529b08becbf7dead86c959254faab55761db8df
Reviewed-on: https://gerrit.instructure.com/45883
Reviewed-by: Derek DeVries <ddevries@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Derek DeVries <ddevries@instructure.com>
2014-12-19 22:11:56 +00:00
..
canvas rspec 3-ify spec/serializers 2014-10-14 14:17:16 +00:00
quizzes QLA - Table view / answer matrix 2014-12-19 22:11:56 +00:00
attachment_serializer_spec.rb rspec 3-ify spec/serializers 2014-10-14 14:17:16 +00:00
progress_serializer_spec.rb rspec 3-ify spec/serializers 2014-10-14 14:17:16 +00:00