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>