closes OUT-1846
Test plan:
- create an outcome
- create two assignments with rubrics including
the outcome
- set one of the rubrics to "Don't post results to LMGB"
- assess a student using both rubrics with different scores
- visit the LMGB
- verify that only the non-hidden score is reflected
in the LMGB
- visit the student LMGB
- verify that only the non-hidden alignment is shown
in the student lmgb
- visit
http://canvas.docker/api/v1/courses/COURSE_ID/outcome_results?user_ids[]=USER_ID&outcome_ids[]=OUTCOME_ID
(replacing COURSE_ID, USER_ID and OUTCOME_ID)
- verify that hidden alignment is not shown
- add
&include_hidden=true
to the above URL
- verify that hidden alignment is now shown
Change-Id: Ie08c63f32686ffc42394e926c22eac773799d616
Reviewed-on: https://gerrit.instructure.com/154464
Tested-by: Jenkins
Reviewed-by: Frank Murphy <fmurphy@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Augusto Callejas <acallejas@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
closes OUT-2300
test plan (dev-qa):
- create a new outcome
- create a new rubric and align the outcome
- align the rubric to a new assignment, ensure you
choose the box to remove points from rubric
- assess a student
- go to the LMGB
- the outcome_rollups response should include a
hide_points field in the json
- hide_points should be 'true' on the rollup for the new outcome
with the newly created outcome
- attach the newly create outcome to a different assignment, one
that doesn't have its points hidden on the rubric association
- assess the student
- return to lmgb
- hide_points should be 'false' for the rollup on the new outcome
Change-Id: I0f9accb4ff0cc76f40c08ce08e21091e35df6af8
Reviewed-on: https://gerrit.instructure.com/153547
Tested-by: Jenkins
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Product-Review: Michael Brewer-Davis <mbd@instructure.com>
QA-Review: Michael Brewer-Davis <mbd@instructure.com>
fixes OUT-460
test plan:
- create 2 outcomes, one with decaying average and one w/ n_mastery
- attach each outcome to an assignment and a quiz
- it's not reccomended to use exactly 5 questions for quiz testing
since this has the potential to obfuscate possible calc errors
- log in as a student and submit to the assignment/take the quiz
- as the teacher/admin, asses the outcome on the assignment in
speedgrader. It's reccomended to get a high score on at least
one quiz that's being tested, in order to ensure the mastery
score on the result does not exceed the max possible score
for the outcome
- view the students outcome scores in the lmgb and student lmgb
to confirm the score's accuracy
try various scores, but here's an initial example assuming
Outcome A is decaying avg, and Outcome B is n_mastery
Outcome A
- Attach Outcome A to two assignments and two quizzes
- Submit as the student, first to the two assignments,
scoring a 3.0 and a 2.0, then on a quiz in which you
get 90% on the aligned bank
- on the final/most recent bank, score a 40%
- the score for the Outcome should be 2.41
Outcome B
- Attach Outcome B to two assignments and three quizzes
- Submit as the student. Order does not matter, but ensure
scores of 3.0 and 3.5 on the assignments, and 20%, 50%,
and 80% on the quizzes.
- the score for the Outcome should be 3.5
Change-Id: If99d8ab6a3791137e407ab43fd8af2c0d69058d5
Reviewed-on: https://gerrit.instructure.com/93333
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Tested-by: Jenkins
QA-Review: Cemal Aktas <caktas@instructure.com>
Product-Review: McCall Smith <mcsmith@instructure.com>
closes #CNVS-26031
Change-Id: I2e0351fb62e5a06b47fe8c6c3dd503318d29a7ad
Reviewed-on: https://gerrit.instructure.com/69228
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Closes CNVS-13587
Test Plan:
- Create an outcome.
- Enable the Learning Mastery Gradebook (LMG)
- Create an assignment
- Add a rubric to that assignment
- Add an outcome to that Rubric
- Submit that assignment as a student
- Give a student a point value on that outcome.
- Verify their information now shows in LMG
- Remove the Outcome from the Rubric
- Check LMG, outcome info should be gone
- Delete the rubric
- Check LMG, outcome info should be gone
- QA: be sure to check outcomes that use averaging as part of their mastery
evaluation (n_mastery and decaying average), just to make sure the math
still works as expected.
- Confirm the same behaviors when attaching/removing an outcome from a
quiz. (Bonus, unreported bug, I think).
Change-Id: Icdcf674a669165200150f84eb3d943863e09a49d
Reviewed-on: https://gerrit.instructure.com/62055
Reviewed-by: Brian Finney <bfinney@instructure.com>
Tested-by: Jenkins
QA-Review: Michael Hargiss <mhargiss@instructure.com>
Product-Review: Allison Weiss <allison@instructure.com>
refs CNVS-12716
test plan:
- make course with many assessed outcomes
- load the mastery gradebook
- it should load relatively fast
Change-Id: I81a91d58d37e5ae3d5399d59f6e3626af53496ea
Reviewed-on: https://gerrit.instructure.com/53493
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Tested-by: Jenkins
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes CNVS-19658
test plan:
- go to a course with at least one student and assignment
- create a rubric with at least 2 criterion and attach it to the assignment
- pull up the assignment in speedgrader
- enter points for the first criteria and save
- reopen the rubric, points for the first criteria should persist, the second
criteria score should still be empty(it should not show '0')
- refresh the page, the state of criteria scores should persist
- change the score of the first criteria to 0.
- repeat prior two steps, the score of 0 for the first criteria should persist
- remove score entirely for first criteria
- repeat the re-open rubric and refresh page steps, the field for the first
criteria being empty should persist, it should not change to '0'
- change the score for a criteria to something with letters and save
- re-open the rubric, the score field should empty (repeat prior reopen and
refresh steps)
Change-Id: I20fca1894598269b1f34c2090d36a6bb4ff586dd
Reviewed-on: https://gerrit.instructure.com/52948
Product-Review: Hilary Scharton <hilary@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Matt Berns <mberns@instructure.com>
Tested-by: Jenkins
fixes CNVS-11656
test plan:
- enable the teacher and student learning mastery gradebook feature flags
- go to gradebook and select the Learning Mastery tab
- outcome scores per student and aggregate totals should appear the same as
they do on master
- hover mouse over outcome title to trigger popover
- popover should include a path to the outcome, as well as a pie graph with a
key to the right of it that shows colors for 'exceeds expectations',
'meets expectation', and 'does not meet expectations'
- popver should then show mastery points needed, outcome description,
then a content box that includes the calculation method, along with
method description/example.
- click a student name to go to student learning mastery gradebook
- all things should appear the same was as they did on
https://gerrit.instructure.com/#/c/45777/ excluding a minor change to
the wording for most recent assessment
- masquerade as a student and go to /grades in a course
- all popover content should still be the same as when viewing this page as a
teacher
Change-Id: Ibe4214a4217c4fb42824e66934b49dccff13fe17
Reviewed-on: https://gerrit.instructure.com/48004
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
Tested-by: Jenkins
fixes CNVS-12924
test plan:
- enable student learning mastery gradebook and go to its page
- the arrow on the left hand side of outcome groups should properly toggle when
expanding and collapsing
- the pill on the right hand side should properly show the amount of outcomes
attached to it(grey), and those that the student has mastered(green)
- expand a set of outcomes and hover over the icon on the right side
- a hover should appear showing specific details for the outcome including:
- a check mark, yellow plus, or red x for mastery, near-mastery, and remedial
- the last assignment and the date it was submitted (note: you will need to submit
and grade a new assignment to see this info. Outcomes prior to this update will
not have a submission time available and should display "N/A")
- what the current mastery evaluation method is. Methods should show as:
"Latest Score", "Highest Score", "Acheive Mastery (x) number of times", or
"(split) Decaying Average".
note: (x) should indicate number of times, (split) should indicate split
(e.g. 75/25, 65/35)
- Decaying Mastery and x number of times methods should also provide additional
example text of how the evaluation method works
- hover should disappear and reappear appropriate on mouse enter and leave
- check other locations where pills appear to ensure no unexpected
formatting changes
accessibility test plan:
- use keyboard navigation to get to the icon that creates the hover
- icon should prompt user to press space for more info
- the hover should expand and automatically set the focus to the content on the
top portion of the hover
- all fields should properly read out their information
- pressing escape should collapse the hover and return focus to the icon
Change-Id: Iaedc67794d2aceb681f5c2895684797f45be8c62
Reviewed-on: https://gerrit.instructure.com/45777
Tested-by: Jenkins
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes CNVS-16915
(all mentions of 'gradebook' refer to learning mastery gradebook)
test plan:
- go to gradebook
- all existing mastery scores should still default to highest score to retain
accuracy of existing calculations
- in rails console, set 'calculation_method' to 'latest' for an outcome
- all results for that outcome should now show student's latest score on gradebook
- in rails console, set method to 'highest'
- all results for that outcome should now show student's highest score on gradebook
- in rails console, set method to 'n_mastery' and set 'calculation_int' to a number
between two and 5
- all results for that outcome should now show avg of student's higest n# of scores
(#n being the number set for the outcome's 'calculation_int')
- in rails console, set method to 'decaying_average' and set 'calculation_int' to 75
- scores should now appear as they did first time gradebook was viewed on step #2
- in rails console, set 'calculation_int' to 65
- scores for that outcome should now reflect decaying average with 65% weight given to
most recent score, and 35% weight for avg of all prior scores
- have a student make a new submission to an old assignment and give it a score
- the re-submission should now be most recent score for 'latest' and
'decaying_average' methods
- amend a score for an old submission without a new submission from the student
- the amended score should not become the most recent, but still be accurately
reflected in the 25%/35% part of the 'decaying_average' method
Change-Id: I330c47cb2288d99e589deca00ddb5a8ee8103a91
Reviewed-on: https://gerrit.instructure.com/44935
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Sean Lewis <slewis@instructure.com>
Product-Review: Benjamin Porter <bporter@instructure.com>
fixes CNVS-13365
test plan:
* open /api/v1/courses/1/outcome_rollups
* verify that each score includes a count
* verify that counts match the number of results for that
combination of outcome and student
Change-Id: I0cbbab7d2c1ebb6574e090046c52b7a4159bb9b9
Reviewed-on: https://gerrit.instructure.com/35708
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Reviewed-by: Drew Bowman <dbowman@instructure.com>
Product-Review: Braden Anderson <banderson@instructure.com>
also replaces raw hashes in outcome result analytics with
structs to improve error detection and possibly support active
model serialization in the future.
fixes CNVS-10037
test plan:
- check the outcome results api documentation for the new
aggregate parameter.
- call the outcome rollup api with the aggregate=course
parameter.
- verify the result in this case is one rollup that contains
an accurate average of the user rollups for each outcome.
Change-Id: I635cf5e28f5de73e44b63ac6234971657728d035
Reviewed-on: https://gerrit.instructure.com/28103
Reviewed-by: Joel Hough <joel@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
QA-Review: Joel Hough <joel@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
fixes CNVS-10198, CNVS-10201
test plan
- test outcome result api as in c/27631
- ensure that jsonapi paging metadata is returned
- fetch outcome results for a course that includes students
without outcome results (i.e. haven't submitted anything)
- ensure that the student is listed in the returned results
with an empty scores array
Change-Id: I00d8e9de241a243fb6ac1aa9f55150b8955a2452
Reviewed-on: https://gerrit.instructure.com/28015
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Steven Shepherd <sshepherd@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
Product-Review: Joel Hough <joel@instructure.com>
fixes CNVS-10034
test plan:
- check the new outcome results api documentation.
- generate some outcome results:
- create assignments with rubrics that have linked outcomes.
- grade those assignments with the rubric.
- call the /api/v1/outcome_results api endpoint.
- make sure the returned student scores contain the maxiumum
score achieved for each outcome.
- students should not be able to access the api.
Change-Id: Icddec2aa9000c01f3b05c1c3c21260f7c15f7f7e
Reviewed-on: https://gerrit.instructure.com/27631
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Product-Review: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>