fixes VICE-3246
flag=react_inbox
Exclusion: Reply in threads with hard deleted users is broken
Will get fixed in VICE-3251
Test Plan
1. Create a user
2. Create a conversation with that user
3. Reply with a different user
4. Hard Delete the user
4a. Hard delete script will be placed below
5. Open the inbox with the user that recieved the message
6. Verify that no errors are thrown and that messages are visible
Hard delete:
userToDelete = User.find(ID)
userToDeleteId = userToDelete.id
CommunicationChannel.where(user_id:userToDeleteId).map {|mem| mem.destroy_permanently!}
Enrollment.where(user_id:userToDeleteId).map do |enrollment|
Score.where(enrollment_id:enrollment.id).map { |participant| participant.destroy_permanently! }
enrollment.destroy_permanently!
end
Pseudonym.where(user_id:userToDeleteId).map { |participant| participant.destroy_permanently! }
Submission.where(user_id:userToDeleteId).map { |participant| participant.destroy! }
UserAccountAssociation.where(user_id:userToDeleteId).map { |participant| participant.destroy_permanently! }
UserNote.where(user_id:userToDeleteId).map { |participant| participant.destroy_permanently! }
userToDelete.destroy_permanently!
Change-Id: Ia42cccb580f26de0579e510749ada1f539220637
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/305937
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Chawn Neal <chawn.neal@instructure.com>
closes OUT-5381
flag=outcome_alignment_summary
Test plan:
- Enable Improved Outcomes Management FF
- Enable Outcome Alignment Summary FF
- Go to Course > Outcomes and get course id from URL
- Open devtools > network tab
- Create an outcome then retrieve its id from the
graphql query response in network tab
- Create a question bank and align it with the outcome
- Open in browser canvas.docker/graphiql
- Execute query below replacing outcome and course ids
query MyQuery {
learningOutcome(id: "1") {
alignments(contextId: "2", contextType: "Course") {
title
}
}
}
- Verify that the alignment title is the question bank name
- Go to http://canvas.docker/courses/{id}/question_banks,
replace id with course id, select the question bank and
update its name
- Rerun query and verify that alignment title is
the updated question bank name
Change-Id: Ic192bd0d32abbd35e7bdaaa669451f40e01fcbcc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/305611
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
QA-Review: Angela Gomba <angela.gomba@instructure.com>
closes EVAL-2751
flag=assignments_2_student
flag=peer_reviews_for_a2
test plan:
- enable the FF "Assignment Enhancements - Student".
- enable the FF "Peer Review Support in Assignment
Enhancements".
- have a published course.
- have a course with a teacher and 2 students (S1
and S2).
- create an assignment A1 with "Peer Reviews"
enabled and the "Peer Reviews Appear Anonymously"
disabled.
- create an assignment A2 with "Peer Reviews"
enabled and the "Peer Reviews Appear Anonymously"
enabled.
- assign some peer reviews to the students for
both assignments.
with anonymous PR disabled
- as the student S1 create a submission
for the assignment A1.
- notice a modal is present just after hitting
the submit button.
- check that the number of peer reviews to complete
in the modal should match with the number of
peer reviews associated to the assignment.
- check that the number of available peer reviews
is zero and the "Peer Review" button is disabled.
- as the student S2 create a submission for the
assignment A1.
- as the student S1 create a new submission for
the assignment A1.
- notice a modal is present just after hitting
the submit button.
- check that the number of available peer reviews
is one and the "Peer Review" button is enabled.
- check that clicking the "Peer Review" button
redirects you to the available submission
to review.
with anonymous PR enabled
- as the student S1 create a submission
for the assignment A2.
- notice a modal is present just after hitting
the submit button.
- check that the number of peer reviews to complete
in the modal should match with the number of
peer reviews associated to the assignment.
- check that the number of available peer reviews
is zero and the "Peer Review" button is disabled.
- as the student S2 create a submission for the
assignment A2.
- as the student S1 create a new submission for
the assignment A2.
- notice a modal is present just after hitting
the submit button.
- check that the number of available peer reviews
is one and the "Peer Review" button is enabled.
- check that clicking the "Peer Review" button
redirects you to the available submission
to review.
Change-Id: I4bf6be9c499484d225d7d91c90b11695f7a58bc3
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/305174
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Cameron Ray <cameron.ray@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Jody Sailor
closes OUT-5382
flag=outcome_alignment_summary
Test plan:
- Enable Improved Outcomes Management FF
- Enable Outcome Alignment Summary FF
- Go to Course > Outcomes and copy course id from URL
- Create an outcome and an assignment
- Create a question bank with 2 questions and
align it with the outcome
- Create a classic quiz with two questions from
the aligned question bank
- Open in browser canvas.docker/graphiql
- Execute query below replacing course id
query MyQuery {
course (id: 1) {
outcomeAlignmentStats {
totalOutcomes
alignedOutcomes
totalAlignments
totalArtifacts
alignedArtifacts
artifactAlignments
}
}
}
- Verify that query returns the following data:
totalOutcomes: 1, alignedOutcomes: 1, totalAlignments: 3,
totalArtifacts: 2, alignedArtifacts: 1, artifactAlignments: 2
- Delete the quiz, rerun the query and verify that it returns:
totalOutcomes: 1, alignedOutcomes: 1, totalAlignments: 3,
totalArtifacts: 1, alignedArtifacts: 0, artifactAlignments: 0
Change-Id: I8f3a14c119e427ed770e26e8d5bc322e3ca7f1fa
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/304974
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
QA-Review: Angela Gomba <angela.gomba@instructure.com>
Reviewed-by: Dave Wenzlick <david.wenzlick@instructure.com>
This mutation will allow us to update a
user's preference discussions_splitscreen_view?
refs VICE-3115
flag=none
Test Plan:
1) Specs pass.
Notes:
For the FE we need this mutation.
I added the type to the user, so we can optionally return
the updated data.
Change-Id: If64fb7cf0bafbeb12f008ba6fc749026a7d7a0e9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/305162
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
flag=discussion_topics_post
fixes VICE-3113
the reason it was not showing was because
the backend does not show quotes for level
0 (the topic's entry), and level 1(the replies)
to level 1 entries
this change makes it so that level 1 entries
will now show quoted replies as intended.
Level 0 entries do not have a parent entry
so they will not show quotes as expected
test plan:
- with isolated and split screen feature flags
OFF and redesign ON,
- quote a level 1 reply, and make sure to have include
quoted reply in message checked
- post your reply
- verify that the created reply shows the quoted
message
Change-Id: Ib085851b45e933f36aac840e02a3282a6968db20
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/304823
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
fixes VICE-3170
flag = react_discussion
Test Plan:
Solution:
- any entries marked as read after selecting the unread filter,
will still return under the unread filter, until the filter changes
or a page refresh.
- note the mutation will sill update and the blue unread icon
will disappear.
Have at least 60 unread entries (3 pages).
Have some unread entries.
1. Use the unread filter.
2. Notice the unread entries can update to read,
however. If you switch pages the same set of total unread entries
will be returned.
3. Upon page refresh or switching filter, then
returning to unread the entries will no longer return.
Change-Id: I911f85ed8a23b7f8bdfa22edce5745e79b389307
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/304016
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Migration-Review: Jeremy Stanley <jeremy@instructure.com>
closes VICE-3112
flag=split_screen_view
Test Plan:
- on a discussion entry, open the kebab menu
- click the “Quote Reply”
- should see reply preview when editor opens
- should match designs
Change-Id: I40d3efc2a1bdc3541a940b750d094e0fd7e66ccd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/304042
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
closes OUT-5352
flag=outcome_alignment_summary
Test plan:
- Enable Improved Outcomes Management FF
- Enable Outcome Alignment Summary FF
- Go to Course > Outcomes
- Create an outcome and a rubric then align them
- Create unpublished assignment, graded discussion
and quiz and align them with the rubric
- Go to Course > Modules, create unpublished module and add
to it the unpublished assignment, graded discussion and quiz
- Go to Course > Outcomes > Alignments and expand the outcome
- Verify that the module name, appended with (unpublished) is
displayed for assignment, graded discussion and quiz alignments
- Go to Course > Modules and publish the assignment,
graded discussion and quiz
- Go to Course > Outcomes > Alignments and expand the outcome
- Verify that the module name, appended with
(unpublished) is displayed for the assignment,
graded discussion and quiz alignments
- Go to Course > Modules and publish the module
- Go to Course > Outcomes > Alignments and expand the outcome
- Verify that the module name is displayed for the
assignment, graded discussion and quiz alignments
Change-Id: If8a0c3001530b5085cda4b3bb2e5a80b1dbbab0a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/303843
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Martin Yosifov <martin.yosifov@instructure.com>
Reviewed-by: Wilmer Corrales <wilmer.corrales@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
QA-Review: Angela Gomba <angela.gomba@instructure.com>
closes VICE-3187
flag=react-inbox
Test Plan
1. Create a course with 2 observers
2. Link observers to students
3. Go to graphiql
4. As a teacher run the recipientsObservers field for the course
5. Verify that both observes are returned
6. as teacher run recipientsObservers for a single student with observer
7. verify that the correct observer is returned
Change-Id: I18f489751a98beec80eb9b3ac50e4345dc26ca07
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/303852
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
closes VICE-3195
flag= split_screen_view
Test Plan
1. enable discussion redesign and split screen view
2. make sure isolated view is disabled
3. verify that splitScreenViewContainer is rendered when entry is opened
4. verify that splitscreenview works just like isoalted view
Change-Id: I086feadfd32bc6a6db8bb683de0083af9f0c804e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/303619
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
fixes VICE-3162
flag=react_inbox
Test Plan:
1. Specs pass.
2. Passes on beta, see ticket.
3. Hard delete a user part of conversations and inbox
shouldnt break.
3a. My specs run through this/show how to do this;
3b. This may be superfluous.
Notes:
For ConversationListHolder.js:
isError => useQuery.error is an object;
see documentation: https://www.apollographql.com/docs/react/data/queries/#error
Change-Id: Iaa6c0e15e5f6f325460a1f5fa14ff463d7882d67
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/303253
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Test plan:
- Create teacher
- Create student
- Create observer observing student
- As teacher leave a comment on a student submission
- As student view feedback.
- Blue dot should appear next to feedback and disappear after 1 second
- As observer view feedback.
- Blue dot should appear next to feedback and disappear after 1 second
Refs EVAL-2413
flag=assignment_enhancements
Change-Id: Ia52203b2ebe8c6f112c19fbcbe59269fc179b76f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301419
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Deborah Kwak <deborah.kwak@instructure.com>
flag=discussion_topics_post
fixes VICE-3155
test plan:
- see the test, i verified
that the test 500's out if you
remove the & from message&.include
Change-Id: I7dd43706912a16a7baea5ec28f690cc667ccec66
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/302802
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Jeffrey Johnson <jeffrey.johnson@instructure.com>
flag=assignments_2_student
closes EVAL-2646
Test Plan:
- You do not need to have turnitin set up
- have a course with a teacher and some students
- create a 'online_text_entry' assignment
- submit to the assignment as a student
- In the rails console:
submission.update!(turnitin_data:
{:eula_agreement_timestamp=>"1579233651431",
:last_processed_attempt=>1,
"submission_*<insert submission id>*"=>
{:status=>"scored",
:object_id=>"1242926909",
:similarity_score=>75.0,
:web_overlap=>0.0,
:publication_overlap=>0.0,
:report_url=>"www.example.com",
:student_overlap=>0.0,
:state=>"warning"}})
- ensure when the student views their assignment they can see their
originality report
- In the rails console:
assignment.update!(turnitin_settings:{:originality_report_visibility=>"after_due_date"}, due_at: 2.days.ago)
- check that it is still visible
- In the rails console:
assignment.update!(turnitin_settings:{:originality_report_visibility=>"after_due_date"}, due_at: 2.days.from_now)
- check that it is now NOT visible
- In the rails console:
assignment.update!(turnitin_settings:{:originality_report_visibility=>"after_grading"})
- ensure that it is still NOT visible
- In the rails console:
submission.update!(score: 10, workflow_state: 'graded')
- ensure that it is visible now
- In the rails console:
assignment.update!(turnitin_settings:{:originality_report_visibility=>"immediate"})
- ensure that it is still visible
- assignment.update!(turnitin_settings:{:originality_report_visibility=>"never"})
- check that it is NOT visible
Change-Id: I8b87371858a1626fd50a0213ddcaa6deefbbfd81
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301764
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Eduardo Escobar <eduardo.escobar@instructure.com>
Product-Review: Jody Sailor
closes OUT-5302
flag=outcome_alignment_summary
Test plan:
- Enable Improved Outcomes Management FF
- Enable Outcome Alignment Summary FF
- Go to Course > Outcomes
- Create a course outcome, an assignment, a clasic quiz and
two rubrics; align the outcome with one of the rubrics and
align that rubric with the assignment
- Add a global outcome to the course, align it with the
other rubric and align that rubric with the quiz
- Open devtools -> network tab and reload the outcomes page;
get outcome ids from graphql response and course id from URL
- Create teacher and student in course and masquerade as teacher
- Go to canvas.docker/graphiql
- Execute query below replacing id with the course id
query Stats {
course (id: "1") {
outcomeAlignmentStats {
totalOutcomes
alignedOutcomes
totalAlignments
totalArtifacts
alignedArtifacts
}
}
}
- Verify that the query returns the following data
totalOutcomes: 2, alignedOutcomes: 2, totalAlignments: 4,
totalArtifacts: 2, alignedArtifacts: 2
- Execute query below replacing id with the course outcome id
and contextId with the course id
query Alignments {
learningOutcome(id: "1") {
alignments(contextId: "1", contextType: "Course") {
title
contentType
}
}
}
- Verify that query returns two alignments - to the assignment
and to the first rubric
- Rerun the query replacing id with the global outcome id
- Verify that query returns two alignments - to the quiz
and to the second rubric
- Masquerade as student
- Rerun the Stats query and verify that outcomeAlignmentStats
is null
- Rerun the Alignments query for both the course and global
outcomes and verify that alignments are null in both cases
Change-Id: I277e17be088a75c0e1ad329d4ce78d1e4ce7e08d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301768
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
Reviewed-by: Chrystal Langston <chrystal.langston@instructure.com>
QA-Review: Angela Gomba <angela.gomba@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
This tii graphql interface was first implemented 3 years ago and has
sat stale for a few years until recently when we allowed for
orignality reports to be viewed within assignment enhancements. It was
not written to be aware of either 'status' of 'student_error' as
possible keys set by the plagiarism service. (these are only set when
the turnitin product for this account has expired) This was causing us
to try to load an object via an asset string that did not exist.
flag=assignments_2_student
refs EVAL-2610
Test Plan:
-specs pass
Change-Id: I7c9b622db9c3ea73c472f66bef26def044c9a37e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301568
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Christopher Soto <christopher.soto@instructure.com>
Reviewed-by: Eduardo Escobar <eduardo.escobar@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
closes EVAL-2636
flag=assignments_2_student
flag=peer_reviews_for_a2
test plan:
- enable the FF "Assignment Enhancements - Student".
- enable the FF "Peer Review Support in Assignment
Enhancements".
- have a published course.
- have a course with a teacher and 2 students (S1
and S2).
- create an assignment A1 with "Peer Reviews"
enabled.
- create an assignment A2 with "Peer Reviews"
enabled and add a rubric to it.
- create an assignment A3 with "Peer Reviews"
disabled.
- assign a peer review to the student S1 for the
assignments A1 and A2.
PR enabled without rubrics
- as the student S1 click on the "Required Peer
Review 1" for the assignment A1.
- add a comment using the comments tray in the
assignment view.
- check using a rails console that the
corresponding assessment request has it's
workflow_state value is "completed".
* there is a script in the ticket description
to get the assessment request object in the
rails console.
PR enabled with rubrics
- as the student S1 click on the "Required Peer
Review 1" for the assignment A2.
- add a comment using the comments tray in the
assignment view.
- check using a rails console that the
corresponding assessment request has it's
workflow_state value is "assigned".
* there is a script in the ticket description
to get the assessment request object in the
rails console.
normal assignment
- as the student S1 click on the assignment A3.
- add a comment using the comments tray in the
assignment view.
- check that the comments are created as
expected with no errors.
Change-Id: I281ebf25c4e18e3e8a36ebe44c116dbcadd8bc28
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301084
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
Product-Review: Deborah Kwak <deborah.kwak@instructure.com>
closes VICE-2884
flag=none
Test Plan:
- metric gathering will be verifeid post merge
- tests pass and make sense
Change-Id: Idc6b510a24b8de807be0dc35c63aa72e9e749950
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301132
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
closes VICE-2888
flag=none
Test Plan:
- metrics will be verified post merge
- tests pass and make sense
Change-Id: I23172a923e0cd398fafea6a56b587b0d5998ae39
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301238
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
closes VICE-3025
flag=none
Test Plan:
- metric gathering will be verified post merge
- tests pass and make sense
Change-Id: I9414ef1fe3d9348ea2928e9fe7866a3d37af84ca
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/301108
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
closes OUT-5273
flag=outcome_alignment_summary
Test Plan:
- Enable Improved Outcomes Management FF
- Enable Outcome Alignment Summary FF
- Create a new course
- Go to Course > Outcomes
- Create outcome and course question bank (with at least 2
questions) and align the outcome
with the bank
- Create a quiz and add 1 question from the question bank to it
- Go to Course > Outcome > Alignments tab
- Observe that the stats reflect:
- Left side:
- 1 outcome
- 100% coverage
- 3.0 avg alignments per outcome
- Right side:
- 1 alignable artifact
- 100% with alignments
- 1 avg alignments per artifact
- Edit the quiz and remove the question
- Go to Course > Outcome > Alignments tab
- Observe that the Right side updated to:
- 0% with alignments
- 0 avg alignments per artifact
- Edit the question bank and remove one of the questions
- Go to Course > Outcome > Alignments tab
- Observe that the Left side updated to:
- 2.0 avg alignmnest per outcome
Change-Id: Ie6c461fb9e059e370f3e6c2868680b07ca6d8e49
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/300811
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Martin Yosifov <martin.yosifov@instructure.com>
QA-Review: Martin Yosifov <martin.yosifov@instructure.com>
closes OUT-5272
flag=outcome_alignment_summary
Test plan:
- Enable Improved Outcomes Management FF
- Enable Outcome Alignment Summary FF
- Go to Course > Outcomes
- Create one outcome, one rubric, one assignment, one graded
discussion and one quiz
- Align the outcome to the rubric and align the rubric to the
assignment, graded discussion and quiz
- Create a module and add to it the assignment and the quiz
- Go to Course > Outcomes > Alignments tab and expand outcome
- Verify that the following alignments are displayed:
rubric, assignment, graded dicussion and quiz
- Verify that the alignments are sorted alphabetically by title
- Click on each of the alignment titles/links and verify that
each opens the corresponding alignment in a new tab
- Click on the module name/link for the assignment and the quiz
and verify that each loads the modules page in a new tab
- Go to /courses/{id}/question_banks and create a question bank
(replace id with the course id)
- Align the question bank with the outcome, create one question
and add it to the quiz via quiz > edit > questions > find
- Go to Course > Outcomes > Alignments tab and expand outcome
- Verify that the following alignments are displayed:
rubric, assignment, graded dicussion, question bank and quiz
- Verify that the quiz alignment is displayed only once
- Click on the question bank title/link and verify that it
loads the question bank in a new tab
- Click on the quiz title/link and verify that it loads
the quiz in a new tab
- Click on the module name/link for the quiz and verify that
it loads the modules page in a new tab
- Go to Course -> Quizzes, select the quiz and remove rubric
via quiz -> show rubric (from menu) -> delete
- Go to Course > Outcomes > Alignments tab and expand outcome
- Verify that the following alignments are displayed:
rubric, assignment, graded dicussion, question bank and quiz
- Click on the quiz title/link and verify that it loads
the quiz in a new tab
- Go to Course -> Quizzes, select the quiz and remove the
questions from the quiz via quiz > edit > questions
- Go to Course > Outcomes > Alignments tab and expand outcome
- Verify that the following alignments are displayed:
rubric, assignment, graded dicussion and question bank
- Click on Course -> Quizzes, select Manage Question Banks from
menu, select the question bank and remove outcome alignment
- Go to /courses/{id}/question_banks, select the question bank
and remove the outcome alignment (replace id with the course id)
- Go to Course > Outcomes > Alignments tab and expand outcome
- Verify that the following alignments are displayed:
rubric, assignment and graded dicussion
Change-Id: I66cec340d63eec0a26eeff319754e4bfc0a48492
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/300792
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
Reviewed-by: Dave Wenzlick <david.wenzlick@instructure.com>
QA-Review: Angela Gomba <angela.gomba@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
refs INTEROP-7565
flag=none
This commit should have no effect. This class will be extended in future
commits to provide support for cross-shard CMC parent accounts.
Test plan:
- smoke test a couple usages of all_tools_for to make sure they still
work, such as:
- external apps page -- from a course, make sure both course and
account tools are shown
- creating an LTI assignment -- list of external tools
Change-Id: I7aad8cf059a9946dd9261cc51b46a7c22fd36d48
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/300780
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Evan Battaglia <ebattaglia@instructure.com>
flag=originality_reports_for_a2
flag=assignments_2_student
closes EVAL-2602
Local Test Plan:
-You do not need to have turnitin set up locally
-have a course with a teacher and students
-create a 'online_text_entry' assignment
-create 2 'online_upload' assignments
- submit to each assignment as the student
- one online upload with three files and the other with just one
- submit to the online upload with two files and ensure that the
files are displayed above the upload field instead of below
-in the rails console:
-find each of those submissions and save them in a variable
- set TII data for each submission with the commands below
- you will need to replace the attachment asset string to the
correct attachment_id for your environment
- online_upload w/ three files sub: $ sub1.update!(turnitin_data:
{:eula_agreement_timestamp=>"1579233651431",
:last_processed_attempt=>1,
"attachment_1"=>
{:status=>"scored",
:object_id=>"1242926909",
:similarity_score=>35.0,
:web_overlap=>0.0,
:publication_overlap=>0.0,
:student_overlap=>0.0,
:state=>"warning"},
"attachment_2"=>
{:status=>"error",
:object_id=>"1242926909",
:similarity_score=>0.0,
:web_overlap=>0.0,
:publication_overlap=>0.0,
:student_overlap=>0.0,
:state=>"error"},
"attachment_3"=>
{:status=>"scored",
:object_id=>"1242926909",
:similarity_score=>10.0,
:web_overlap=>0.0,
:publication_overlap=>0.0,
:student_overlap=>0.0,
:state=>"acceptable"}})
- online_upload w/ one file sub: $ sub2.update!(turnitin_data:
{:eula_agreement_timestamp=>"1579233651431",
:last_processed_attempt=>1,
"attachment_1"=>
{:status=>"scored",
:object_id=>"1242926909",
:similarity_score=>35.0,
:web_overlap=>0.0,
:publication_overlap=>0.0,
:student_overlap=>0.0,
:state=>"warning"}})
- online_text_entry sub: $ sub3.update!(turnitin_data:
{:eula_agreement_timestamp=>"1579233651431",
:last_processed_attempt=>1,
"submission_1100"=>
{:status=>"scored",
:object_id=>"1242926909",
:similarity_score=>75.0,
:web_overlap=>0.0,
:publication_overlap=>0.0,
:student_overlap=>0.0,
:state=>"warning"}})
- visit the each assignment again as the student
- ensure on the online_text_entry with sub has the originality report
rendered next to the progress_tracker in the header with the
appropriate similarity score and color
- ensure on the online_upload sub has the originality reports
listed along with the files names and sizes that were uploaded
and the 2nd file in the list does not have a report shown due to
the error status
- ensure the online_upload that only has one attachment has
the originality report shown in the header
- all reports should have a tool tip when hovering over them
Deployed Test Plan:
- Have a deployed version of canvas with TII setup
- have a course with a teacher and students
- create an assignment with 'online_text_entry' and 'online_upload'
options
- submit to the assignment with each submission type
- ensure the originality report is shown for each submission and
file upload correctly w/ files that cannot be scored
- ensure the report_url is reachable when the originality report tab
is selected
- smoke test with a few different submissions and attempts and
ensure the same originality report info is shown with the
'assignments_2_student` flag enabled and disabled
Change-Id: Ieecae7deedc7f25b83c1ff29576b394e81bbc1ea
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/300116
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Aaron Shafovaloff <ashafovaloff@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Cameron Ray <cameron.ray@instructure.com>
closes VICE-2903
flag=none
Test Plan:
- metric gathering will be verified post merge
- tests pass and make sense
Change-Id: I69cef6cd56526e3fc8d335d1ea0042f76738f369
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/300323
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
closes VICE-2892
closes VICE-2895
closes VICE-2901
flag=none
Test Plan:
- metrics will be verified post merge
- test pass and make sense
Change-Id: I76b359f17273cf0d765bef47c2bdbd0264d366c0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/300101
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
closes OUT-5268
flag=outcome_alignment_summary
Test plan:
- Enable Improved Outcomes Management FF
- Enable Outcome Alignment Summary FF
- Go to Course > Outcomes and copy course id from URL
- Create two outcomes, one rubric, one assignment, one
graded discussion and one classic quiz
- Align one outcome to the rubric and align the
rubric to the graded discussion and the quiz
- Open in browser canvas.docker/graphiql
- Execute query below replacing course id
query MyQuery {
course (id: 1) {
outcomeAlignmentStats {
totalOutcomes
alignedOutcomes
totalAlignments
totalArtifacts
alignedArtifacts
artifactAlignments
}
}
}
- Verify that query returns the following data
totalOutcomes: 2, alignedOutcomes: 1, totalAlignments: 3,
totalArtifacts: 3, alignedArtifacts: 2, artifactAlignments: 2
- Create a new rubric and align it with the second outcome
and with the assignment
- Rerun query and verify that it returns the following data
totalOutcomes: 2, alignedOutcomes: 2, totalAlignments: 5,
totalArtifacts: 3, alignedArtifacts: 3, artifactAlignments: 3
Change-Id: Ia082bf6679f99993e7a18f390b20af40d8c68a8b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/299476
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Chrystal Langston <chrystal.langston@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
Reviewed-by: Dave Wenzlick <david.wenzlick@instructure.com>
closes gh-2071
closes DEMO-224
flag=none
Test Plan
- Create a new course
- Add a syllabus to the course
- Navigate to https://<canvas_host>/graphiql and enter the following query:
query MyQuery {
course(id:COURSE_ID_HERE) {
syllabusBody
}
}
- Ensure that the result returns the syllabus body HTML.
Change-Id: I3215a7126a6b5140063163ae92608fe6f15d76e9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298986
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Dustin Cowles <dustin.cowles@instructure.com>
Use the ENV permission 'read_reports' to determine if columns
should be shown to the user. Update GraphQL types to prevent
data from being exposed when user does not have permissions.
closes VICE-3014
flag=react_people_page
Test Plan:
- Tests pass
- With FF off, visit a course people page as user with teacher role
- Ensure course has at least one user with data in the
Last Activity and Total Activity columns of the roster table
- In a new tab, turn on the 'People Page Upgrade' FF
- Visit the same course people page using the new tab
- Last Activity and Total Activity columns should be present
and data should be the same between legacy and upgrade pages
- Enter student view
- Last Activity and Total Activity columns should not be present
Change-Id: Id185303c4dce2dd884706fa83d699b058be2ed8c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298949
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
closes EVAL-1690
flag=assignments_2_student
Local Test Plan:
-You do not need to have turnitiin set up locally
-have a course with a teacher and students
-create a 'online_text_entry' assignment
-create a 'online_upload' assignment
-submit to each assignment as the student
- submit to the online upload with two files and ensure that the
files are displayed above the upload field instead of below
-in the rails console:
-find each of those submissions and save them in a variable
- set TII data for each submission with the commands below
- online_upload sub: $ sub.update!(turnitin_data:
{:eula_agreement_timestamp=>"1579233651431",
:last_processed_attempt=>2,
"attachment_1"=>
{:status=>"scored",
:object_id=>"1242926909",
:similarity_score=>35.0,
:web_overlap=>0.0,
:publication_overlap=>0.0,
:student_overlap=>0.0,
:state=>"warning"},
"attachment_2"=>
{:status=>"scored",
:object_id=>"1242926909",
:similarity_score=>10.0,
:web_overlap=>0.0,
:publication_overlap=>0.0,
:student_overlap=>0.0,
:state=>"acceptable"}})
- online_text_entry sub: $ sub.update!(turnitin_data:
{:eula_agreement_timestamp=>"1579233651431",
:last_processed_attempt=>1,
"submission_1100"=>
{:status=>"scored",
:object_id=>"1242926909",
:similarity_score=>75.0,
:web_overlap=>0.0,
:publication_overlap=>0.0,
:student_overlap=>0.0,
:state=>"warning"}})
- visit the each assignment again as the student
- ensure on the online_text_entry sub has the originality report
rendered next to the progress_tracker in the header with the
appropriate similarity score and color
- ensure on the online_upload sub has the originality reports
listed along with the files names and sizes that were uploaded
-ensure when you select the file link or file icon in the file list,
the file preview is shown in docviewer or the preview should be
displayed as unavailable
Deployed Test Plan:
- Have a deployed version of canvas with TII setup
- have a course with a teacher and students
- create an assignment with 'online_text_entry' and 'online_upload'
options
- submit to the assignment with each submission type
- ensure the originality report is shown for each submission and
file upload correctly
- ensure the report_url is reachable when the originality report tab
is selected
- smoke test with a few different submissions and attempts and
ensure the same originality report info is shown with the
'assignments_2_student` flag enabled and disabled
Change-Id: I3e53276743295ee7217ceb53486038747e58ddfc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/292206
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
closes EVAL-2456
flag=assignments_2_student
flag=peer_reviews_for_a2
test plan:
- enable the FF "Assignment Enhancements - Student".
- enable the FF "Peer Review Support in Assignment
Enhancements".
- have a published course.
- have a course with a teacher and 2 students (S1
and S2).
- create an assignment A1 with "Peer Reviews"
enabled and the "Peer Reviews Appear Anonymously"
disabled.
- create an assignment A2 with "Peer Reviews"
enabled and the "Peer Reviews Appear Anonymously"
enabled.
- create an assignment A3 with "Peer Reviews"
disabled.
- add a rubric to both assignments.
- add both assignments to a module.
- assign some peer reviews to the students for
both assignments.
- as the student S1 go to the modules view.
with anonymous PR disabled
- as the student S1 click on the "Required Peer
Review" for the assignment A1.
- use the network tab in the web browser to
intercept the "GetAssignment" grahQL query.
- notice the response contains the
data.submission.assignedAssessments attribute.
- notice the assigned assessment object has
anonymousId as null.
- notice the assigned assessment object has
value for anonymizedUser.
- notice the assigned assessment object has
value for workflowState.
with anonymous PR enabled
- as the student S1 click on the "Required Peer
Review" for the assignment A2.
- use the network tab in the web browser to
intercept the "GetAssignment" grahQL query.
- notice the response contains the
data.submission.assignedAssessments attribute.
- notice the assigned assessment object has
value for anonymousId.
- notice the assigned assessment object has
anonymizedUser as null.
- notice the assigned assessment object has
value for workflowState.
Change-Id: Ie8761a02eca6cbcbc300f8f351f570fea591cce4
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/296096
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Kai Bjorkman <kbjorkman@instructure.com>
fixes VICE-3050
flag=react_people_page
Test Plan:
- Tests pass
- With FF off, create a custom role
- Visit a course people page as user with teacher role
- Assign the custom role to a user in the course
- Turn 'People Page Upgrade' FF on and view course roster
- User's custom role should be visible in the roster table
Change-Id: I18651dae6666f71a870d20e3465e0df2f71f241f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298769
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Caleb Guanzon <cguanzon@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Rover was originally added as a devDependency so that Apollo Studio
schema checks could be performed. However, Rover does not build under
linux/arm64, so developers with newer M1 Macs were unable to get Canvas
running. Instead, the schema checks will be run inside of a separate
rover specific container, removing the dependency.
[canvas-builds-refspec=1b94202e657e6899de6629afd85b628a1e27b66c]
[force-graphql-schema-check]
closes INTEROP-7174
flag=none
test-plan:
- the simulated post-merge build succeeds
- M1 users can run yarn install without issue
- devx is happy :P
Change-Id: I92f8862b580b4300b14ee98bc9e9826c8d649e96
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298396
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Product-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
This commit allows StudentViewEnrollments to be filtered
from course roster tables via a GraphQL query filter.
fixes VICE-3043
flag=react_people_page
Test Plan:
- Tests pass
- With FF turned off, visit a course people page as a user
with the teacher role
- In a new tab, turn on 'People Page Upgrade' FF and visit
the same course people page as the same user
- The same number of users should be visible in
the legacy and upgraded roster tables
- With the FF turned on, click the Student View button
- Exit student view and ensure the same number of users
are visible in the upgraded course roster table as
before entering student view
Change-Id: I754442bb2310dcf2ce312835b1679ca589799a0b
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298576
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
fixes VICE-3051
flag=react_people_page
Test Plan:
- Tests pass
- With FF turned off, visit a course people page as a user
with the teacher role
- For an existing user, add a new enrollment (role and/or
section) that is distinct from its existing enrollments
- Visit the user's user detail page and conclude the
enrollment that you just added
- Turn on 'People Page Upgrade' FF
- Visit the course people page and verify that the concluded
enrollment is not visible in the roster table
Change-Id: I0f9ce2f7d2c065f47215d2c0187d5b8856e58c6e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298420
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
closes OUT-5219
flag=outcome_alignment_summary
Test plan:
- Enable Improved Outcomes Management FF
- Enable Outcome Alignment Summary FF
- Go to Course > Outcomes
- Create an outcome and a rubric and align them
- Create an assignment and align with the rubric
- Create two modules - one of them published the other one
unpublished and add the assignment to both modules
- Open in browser canvas.docker/graphiql
- Execute query below replacing outcome id and context id
query MyQuery {
learningOutcome(id: "1") {
alignments(contextId: "1", contextType: "Course") {
_id
title
moduleName
moduleUrl
moduleWorkflowState
}
}
}
- Verify that the outcome alignments include two records for
the same assignment but with different values for _id,
moduleName, moduleUrl and moduleWorkflowState
- Verify that the _id value for the assignments consists of
two numbers concatenated with underscore
- Verify taht the _id for the rubric does not contain underscore
- Go to Course > Outcomes and open Devtools -> console
- Reload the Alignments tab and expand the aligned outcome
- Verify that the assignment appears two times in the list of
alignments with but with different module names
- Verify that there are no errors in the console
Change-Id: Ie8617f0499fe59590f3c1547c792f77b87ba05bb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298429
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Angela Gomba <angela.gomba@instructure.com>
Reviewed-by: Dave Wenzlick <david.wenzlick@instructure.com>
QA-Review: Angela Gomba <angela.gomba@instructure.com>
Product-Review: Kyle Rosenbaum <krosenbaum@instructure.com>
why:
- Schema checks ensure that any change to the Canvas GraphQL Schema
don't impact existing queries as well as ensuring we don't break
supergraph composition.
- We're starting with a post-merge build to see how common of an issue
this is for now. We'll move it into the deploy and pre-merge steps
once we're sure we like it.
flag=none
[canvas-builds-refspec=0e2b75ca09d79fe85fdb749b9288dabbbfc86012]
[change-merged]
[build-registry-path=jenkins/canvas-lms/interop-7174]
closes INTEROP-7174
test-plan:
- the simulated post-merge build reports to the appropriate Slack
channel and we *don't* get a message about a schema check failure.
- we'll get eyes from devx and our SET to make sure everything looks
A-OK.
Change-Id: Ibdb55c1f50d0ab71d809bb06a5f0d01a5b7fbc02
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/296771
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
Build-Review: Aaron Ogata <aogata@instructure.com>
QA-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
Product-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
refs VICE-3049
flag=none
Test Plan:
- go to graphiql
- set up a query for a discussion
- for discussionEntryConnection add parameter for userSearchId
> should get entries for specified user
Change-Id: I54ff5a401eaca4d7c4bfa4d6b58bd9ccc905ab64
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/297834
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
refs VICE-3049
flag=none
Test Plan:
- in graphiql
- set up a mutation to update a submission score by id
> should allow for updating score by submission id
Example:
mutation MyMutation {
__typename
updateSubmissionGrade(input: {submissionId: "37", score: "10"}) {
submission {
_id
id
grade
score
user {
_id
id
name
}
}
}
}
Change-Id: I0f405be21c54b5725e900b66ae3326ffa4418797
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/297998
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
flag=react-inbox
closes VICE-2869
Test Plan
1. Test passes
2. Further testing will be done in Deployed environment
Change-Id: I716aa9e949a994f42a318f741264069f13853bd9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298095
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
closes VICE-2880
flag=none
Test Plan:
- specs make sense and pass
- will validate metric gathering post merge
Change-Id: I7eff70d2629c94e8aa99dedab7911b66f95eaabf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/298089
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>