• Ahmad Amireh's avatar
    modernize canvas_quizzes · 46f8efd6
    Ahmad Amireh authored
    fixes FOO-1409
    flag  = none
    
    no more client_apps, canvas_quizzes now lives as part of canvas-lms
    proper inside app/jsx/, which makes the build leaner and leaves us with
    one less thing to reason about
    
    logical changes:
    
    - converted from AMD to ES modules
    - upgraded to recent react + react-router
    - dropped RSVP in favor of native Promises
    - used CanvasModal instead of home-grown Dialog
    - removed dead code; notifications in particular were fishy as there had
      no dependents at all and did not even show up in the graph
    - ported tests to Jest, added more unit ones and two integration ones
    - removed "config.onError" and now throws errors where appropriate
    - disabled console statements in non-dev
    
    :: test plan ::
    
    - create a (old-school) quiz containing all types of questions
    - as 3 distinct students, take the quiz and try to randomize your
      answers
    
    at this point it's helpful to have a reference to compare the screens; I
    replicated the quiz on my production sandbox for this
    
    - go to /courses/:id/quizzes/:id/submissions/:id/log
      - verify it looks OK
      - click on a specific question in the stream and verify the question
        inspector widget works OK
      - go back to stream and push "View table"
      - verify the table and its controls are OK
    
    - go to /courses/:id/quizzes/:id/statistics
      - verify it looks OK
      - click on ? in the discrimination index chart and verify it displays
        a dialog with help content
      - click on "X respondents" in one of the charts and verify it displays
        a dialog with the respondent names
      - verify the interactive charts do interact as expected (no logic
        changed here so just a quick glance)
      - link to "View in SpeedGrader" for essay-like questions works
    
    Change-Id: I79af5ff4f1479503b5e2528b613255dde5bc45d3
    Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/256118
    
    Tested-by: default avatarService Cloud Jenkins <svc.cloudjenkins@instructure.com>
    Reviewed-by: default avatarSimon Williams <simon@instructure.com>
    QA-Review: Simon Williams <simon@instructure.com>
    Product-Review: Simon Williams <simon@instructure.com>
    46f8efd6
.dockerignore 696 Bytes