closes gh-1402
test plan
- Create a user with two logins
- have an enrollment tied to the sis id of one
- delete that pseudonym
- run a sis import enrollments referencing the
deleted sis id
- the enrollment should still be active
Change-Id: I350a998f53aae00662f2a133c17dd9596793ed6a
Reviewed-on: https://gerrit.instructure.com/178116
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
* create a graded assignment
* submit to it
* grade the submission
* it should show an unread count on the tab for
the student
* set the assignment to be ungraded now
* wait half an hour for the count to be stale or
run "ContentParticipationCount.update_all(:updated_at => 1.hour.ago)"
* refresh the course as a student
* it should not include it as part of the count anymore
closes #COMMS-1831
Change-Id: If58398545729b672e735c214eea8e397c0085180
Reviewed-on: https://gerrit.instructure.com/178139
Reviewed-by: Aaron Hsu <ahsu@instructure.com>
Tested-by: Jenkins
QA-Review: Aaron Hsu <ahsu@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
Files uploaded via external tools for group assignments were not
properly being associated with the students in the group, and as such
were not appearing in sources like SpeedGrader. Ensure we do associate
them with the members of the group.
fixes GRADE-1906
Test plan:
- In your local Canvas installation, set up an application (such as
Google Drive) that lets you upload attachments
- Make sure you have some files stored in said application that you
can upload to Canvas
- Create an assignment that accepts file uploads
- Choose to grade it as a group, and configure some groups
- As a student, upload an assignment for your group from the source you
set up in the initial step
- As the teacher, open the assignment in SpeedGrader
- The attachment should appear when you select the student's group
Change-Id: I8b1d06e43d313f523a28f71af9a3ec4470d74a24
Reviewed-on: https://gerrit.instructure.com/178043
Tested-by: Jenkins
Reviewed-by: Keith Garner <kgarner@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
fixes CORE-2360
test plan
- teachers should be able to do a get to csp
Change-Id: Idba7e4a3f81519f2f7d06eb0da509ae3cd109c9e
Reviewed-on: https://gerrit.instructure.com/178107
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Change CSS table entries to use '~' instead of '+' so we don't have
to repeat the empty 'div' before each table. We only need one.
Use alternate method of indicating Header1 style in markdown to fix
the title of the page. Our post processor included the '#' from
the first line in the page title.
test plan: titles don't start with '#'
tables look the same
Change-Id: Ie73b91e1628dc22112b46ed6442eea7860062aad
Reviewed-on: https://gerrit.instructure.com/178090
Tested-by: Jenkins
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Erin Hallmark <erin@instructure.com>
Product-Review: Erin Hallmark <erin@instructure.com>
Closes PLAT-4143
Test Plan:
- Attempt to retrieve an access token using the client
credentials grant type. Make the exp or iat claims
non-numeric
- Verify Canvas responds with a 400 and error message
- Verify the aud must be https
Change-Id: Iefc9b286d9198f0afd759c9a05b1dd8b22647aa4
Reviewed-on: https://gerrit.instructure.com/177837
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Marc Phillips <mphillips@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
Closes PLAT-4141
Test Plan:
1. Create an LTI developer key and set the oidc_login_uri.
The tool should have the following placements:
- user_navigation
- course_navigation
- editor_button
Each placement should have a different 'url' property
(you can just add query params if you want)
2. Launch the tool from each of the placements and verify
the following:
- The OIDC login message is sent to the oidc_login_uri
- the target_link_uri sent in the OIDC login message
is equal to the 'url' property of the placement setting
3. Create ane LTI assignment with the tool and do a launch
4. Verify that:
- The OIDC login message is sent to the oidc_login_uri
- The target_link_uri is the 'url' of the ContextExternalTool
5. Install an LTI 1 tool in the same placements
6. Launch the LTI 1 tool at each placement and verify the launch
works as before
Change-Id: Ib7508daad9a954e7eabcb0374dbd54520280a172
Reviewed-on: https://gerrit.instructure.com/177627
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Marc Phillips <mphillips@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Marc Phillips <mphillips@instructure.com>
fixes ADMIN-2275
Test plan
- Set up a course with two sections and
a teacher whose enrollment only has
visibility for their own section
- Have two students in different sections
- Have each student submit a different
assignment
- As the teacher, verify that when you
go to /api/v1/users/self/todo that
you only see the assignment for the
student whose section you share
- (You SHOULD NOT see an assignment
with "needs_grading_count": 0)
Change-Id: I48c56a127cf9a251448c8c97ee3720522f417ebd
Reviewed-on: https://gerrit.instructure.com/177268
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
fixes COMMS-1836
Test Plan:
- create an assignment with a really long title
- as a student view that assignment
- notice no horizontal scroll bar
Change-Id: Iaa3e958ddd70c12dbc15fb97511b778f6d6e44ca
Reviewed-on: https://gerrit.instructure.com/178095
Tested-by: Jenkins
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
Change-Id: I6af624f8a316193359148aee3961e52e74b56cf4
Reviewed-on: https://gerrit.instructure.com/177918
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
Change-Id: If7db815735fcf7e4fc35ab4e5c09063f65b97e73
Reviewed-on: https://gerrit.instructure.com/177956
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes COMMS-1828
Test Plan
- Make sure new schedule is on in account settings
- Make sure schedule is on in course settings
- Create and appointment group on calendar
- Go to edit page and noticed that the option is
gone
Change-Id: I256f4208f0fcc2adc9fde4116bcfd0050689cddd
Reviewed-on: https://gerrit.instructure.com/177704
Tested-by: Jenkins
QA-Review: Steven Burnett <sburnett@instructure.com>
Product-Review: Aaron Hsu <ahsu@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
fixes COMMS-1826
Test Plan:
- As an instructor create at least 2 published discussions in your course
- As a student reply to both of the discussions
- As the instructor navigate to the discussion's index
page (Do not view the replies prior to this)
- Click the 8 dot icon to drag and drop the discussion at the bottom of the list.
Notice that it no longer sticks together with the other unread discussion.
Change-Id: Iffe1019223d3625c04d78b669de155a3560924da
Reviewed-on: https://gerrit.instructure.com/178094
Tested-by: Jenkins
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Steven Burnett <sburnett@instructure.com>
same with assignment and quizzes importers, will
keep from applying late policies before date shifting
closes #ADMIN-2356
Change-Id: Idbb0086e9d8dd878815d824478a42a871ded01d9
Reviewed-on: https://gerrit.instructure.com/178011
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
along with enrollments
test plan:
* create a course with a student
* as a student, mark the course with
a star on "/courses" (if it doesn't have one already)
to mark it as a favorite
* as a teacher, reset the course
* the course should still be starred for the student
closes #ADMIN-2353
Change-Id: I36e98b20542a5da42b5baf73ccbc3bc4f35a9897
Reviewed-on: https://gerrit.instructure.com/177737
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
test plan:
* add a student to a group
* remove the student from the group
* /api/v1/courses/X/enrollments?include=group_ids should
not show the deleted group membership
closes #ADMIN-2357
Change-Id: If511b972bcafa6ca2bde0b9cd461e6452d4ee226
Reviewed-on: https://gerrit.instructure.com/177909
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes ADMIN-2296
Note: need to figure out text-align change when it wraps, still.
Won't merge until that + Ed's story merges with more override stuff
test plan:
- see page.
- see page shrink.
- shrink, page, shrink.
- see override.
- see override wrap.
- wrap, override, wrap.
Change-Id: I3aafbdfe3214f5e270633ac7781a65f1d6b510e4
Reviewed-on: https://gerrit.instructure.com/176366
Tested-by: Jenkins
Reviewed-by: Mysti Sadler <mysti@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Carl Kibler <ckibler@instructure.com>
test plan:
- do blueprint syncs with and without the "course settings" box checked
- if the box was checked, the history should include an entry for
course settings
closes ADMIN-2327
Change-Id: I503a7db731eccc381868a5586847e6a63e12632c
Reviewed-on: https://gerrit.instructure.com/177811
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
Reviewed-by: Mysti Sadler <mysti@instructure.com>
QA-Review: Mysti Sadler <mysti@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
closes CORE-2323
refs CORE-2115
refs CORE-2097
Test Plan:
- Add something to an RCE instance that has a11y errors
- Run the a11y checker
- You should see errors show up.
- Click the (?) hint button
- The tooltip should contain a link for most rules
that is descriptive (e.g, learn more about xyz)
- The link should also be underlined
Change-Id: I1930f855d05ffa71f7e27c2943503371e6224175
Reviewed-on: https://gerrit.instructure.com/173487
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
if the same outcome is linked through multiple groups
the course exports the outcome multiple times
causing unecessary duplicate work
refs #ADMIN-2341
Change-Id: I56c1025de65c79d69aeda86894fcbd976d8c772b
Reviewed-on: https://gerrit.instructure.com/177437
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes: ADMIN-1345
Test-Plan:
- run through the repo steps and make sure a good error is specified
Change-Id: I8974a5ce3fd7c8dcc18a88812e4e7e6f03102ca5
Reviewed-on: https://gerrit.instructure.com/177469
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Rex Fleischer <rfleischer@instructure.com>
In the Student Grades Summary page, when a course does not have a
grading scheme enabled, but a final grade override exists, show the
raw override percentage, as opposed to the letter grade plus the
letter bound of that letter grade.
fixes GRADE-1931
Test Plan
- Disable the course's grading scheme, if one is enabled.
- Override a student's grading period or course scores via New
Gradebook.
- Verify that the student's grades page displays with the raw
override percentage.
Change-Id: Ib712fc6d43e4f65fab6d9f45580fa320a366f6a3
Reviewed-on: https://gerrit.instructure.com/177604
Tested-by: Jenkins
Reviewed-by: Keith Garner <kgarner@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
Submissions to anonymous assignments were hidden from peer reviewers
while the assignment was still muted, but now peer reviewers are able
to peer review the same as they would for any other assignment.
closes GRADE-1675
Test Plan
- Create a peer review, anonymous assignment.
- Have Student 1 submit to the assignment.
- As the teacher, assign the two students to peer review each other.
- As the teacher, leave comments for Student 1.
- As the students, leave comments for Student 1.
- As the teacher, verify the following:
- The teacher does not see Student 1 or 2's identities in
SpeedGrader, and remains unable to view the submission details
page.
- The peer reviewer (Student 2) sees only their own comments.
- The student (Student 1) sees only their own comment.
Change-Id: Ie8df4fde0c1391c20461bf1d64d13385179db370
Reviewed-on: https://gerrit.instructure.com/177521
Tested-by: Jenkins
Reviewed-by: Keith Garner <kgarner@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: Adrian Packel <apackel@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
closes QO-453
Test plan:
Create quiz with each question type
Preview the quiz
- verify that all form elements are
read correctly with labels
Take the quiz
- verify that all form elements are
read correctly with labels
Change-Id: Ieed3912cadf750754f4aaef0ebc545312709249b
Reviewed-on: https://gerrit.instructure.com/177125
Reviewed-by: Omar Khan <okhan@instructure.com>
QA-Review: Omar Khan <okhan@instructure.com>
Tested-by: Jenkins
Product-Review: Nathan Nuclear <nathan@instructure.com>
test plan:
* have a blueprint course with a grading standard
* sync to an associate course
* disable the grading standard
* sync again (with course settings)
* it should disable the standard in the associated course
closes #ADMIN-2355
Change-Id: I6a6dcf43a1d056954d49402ee68dcb4ef2c17788
Reviewed-on: https://gerrit.instructure.com/177816
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Create alerts for assignments that have been manually marked as
missing even if no due date is specified for the assignment.
fixes GRADE-1571
Test plan:
- Have a course with a student and an observer observing the student
- Create an alert for missing assignments using the Rails console
(or you can use the API endpoint):
> ObserverAlertThreshold.create!(
student: <student>,
observer: <observer>,
alert_type: 'assignment_missing'
)
- Create an assignment with online submissions and no due date
- From gradebook, mark the observed student's submission as missing
- Run (or just wait; it runs automatically every 5 minutes):
> ObserverAlert.create_assignment_missing_alerts
- The following query should return an ObserverAlert object
with its context_type and context_id corresponding to the
observed student's submission:
> ObserverAlert.where(
user: <student>,
observer: <observer>,
alert_type: 'assignmemt_missing'
)
- Run the create_assignment_missing_alerts method one more time
- It should NOT create a second alert for the submission above
Change-Id: I3ff81c31e4562c0e68cf9767d0e53a7d9adf2555
Reviewed-on: https://gerrit.instructure.com/177018
Tested-by: Jenkins
Reviewed-by: Gary Mei <gmei@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Keith Garner <kgarner@instructure.com>
Fixes ADMIN-2349
Test plan: Table headers on Pages display correctly.
Before: https://cl.ly/e0c0a50ca516
After: https://cl.ly/b667b3735ceb
Change-Id: I9af96421e92f20b4d0b919e9567f96de827de54c
Reviewed-on: https://gerrit.instructure.com/177455
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Mary Anderson <manderson@instructure.com>
fixes GRADE-1941
test plan:
* Verify Jenkins passes
* Smoke test editing final grade overrides in New Gradebook
Change-Id: I480b5ab1021e1c2e8791db2d4d23da48586c9cd5
Reviewed-on: https://gerrit.instructure.com/177686
Reviewed-by: Keith Garner <kgarner@instructure.com>
QA-Review: Indira Pai <ipai@instructure.com>
Product-Review: Matthew Goodwin <mattg@instructure.com>
Tested-by: Jenkins
The added spec covers the real error case that was popping up in
production.
test plan:
- test pass
Change-Id: I20e0915d15bb1f9eba3f9d1bc646df8af1ca8564
Reviewed-on: https://gerrit.instructure.com/177585
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Keith Garner <kgarner@instructure.com>
Tested-by: Jenkins
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Derek Bender <djbender@instructure.com>
closes PLAT-4126
Test Plan:
- create an api key and an lti key
- note that in the devkey index that only the api keys
have the edit icon
Change-Id: Ie30307eea9b91c355b5721d0e49460dc733e468b
Reviewed-on: https://gerrit.instructure.com/177607
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Marc Phillips <mphillips@instructure.com>
fixes ADMIN-2284
Test plan
- Load up the RCE and check the image uploader
- Verify you can see the thumbnails in the tree
browser
Change-Id: Ibb182b272fee96326d1882c39f5a2cd547f26af0
Reviewed-on: https://gerrit.instructure.com/177262
Tested-by: Jenkins
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Christi Wruck
This version eschews using the apollo client and its cache. Instead it
just sends graphql queries as needed and stores the assignment and
application state in the top level react component. This seems more
consistent with the view-edit-save design of the A2 teacher view.
closes ADMIN-2250
test plan:
- the publish toggle should publish and unpublish the assignment
Change-Id: Iebb7664ee0742721f95eef922ba678861452602a
Reviewed-on: https://gerrit.instructure.com/176761
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
fixes CORE-2083
test plan
- have custom auth
- create a new user
- the link the registration email should work
- create a new communication_channel
- the confirmation link should work
Change-Id: I16401289e96ec13835ed2a49b9c5f71fe93b40fd
Reviewed-on: https://gerrit.instructure.com/174125
QA-Review: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
closes GRADE-1688
QA Notes:
* To enable the Overrides column in New Gradebook:
1. Open the Gradebook Settings modal
2. Click the Advanced tab
3. Ensure the Final Grade Overrides option is checked
test plan:
A. Setup
1. Select or create a course
2. Ensure the course has at least one assignment
3. Enable the "Final Grade Override" feature flag
4. Use an enrollment term with some grading periods
B. Verify without Grading Scheme
1. Ensure the course is not using a grading scheme
2. Visit New Gradebook
3. Select "All Grading Periods"
4. Verify course grades can be overridden
* Must be numerical (91.1 or 91.1%)
5. Verify course grade overrides can be cleared
6. Verify a flash alert indicates grades saved
7. Verify non-numerical grades are invalid
8. Verify a flash alert indicates invalid grade
9. Filter by a grading period
10. Verify grading period grades can be overridden
11. Verify grading period grade overrides can be cleared
12. Verify a flash alert indicates grades saved
13. Verify non-numerical grades are invalid
14. Verify a flash alert indicates invalid grade
C. Verify with Grading Scheme
1. Ensure the course is using a grading scheme
2. Visit New Gradebook
3. Select "All Grading Periods"
4. Verify course grades can be overridden
* Can be numerical (91.1 or 91.1%)
* Can be letter grade (A, B, etc.)
5. Verify course grade overrides can be cleared
6. Verify a flash alert indicates grades saved
7. Verify nonsensical grades are invalid
8. Verify a flash alert indicates invalid grade
9. Filter by a grading period
10. Verify grading period grades can be overridden
11. Verify grading period grade overrides can be cleared
12. Verify a flash alert indicates grades saved
13. Verify nonsensical grades are invalid
14. Verify a flash alert indicates invalid grade
Change-Id: I6a68ad6db026d684cb8fc82413a90365ffe4722d
Reviewed-on: https://gerrit.instructure.com/177334
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
Tested-by: Jenkins
QA-Review: Indira Pai <ipai@instructure.com>
Product-Review: Jonathan Fenton <jfenton@instructure.com>
migrations from old courses should never use 0
for answer ids and migrations from new ones should
be consistent with their answer ids
closes #QO-458
Change-Id: Ia023b25879530382d5358067cb4ff170c1d41a70
Reviewed-on: https://gerrit.instructure.com/177491
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Refs PLAT-4113
Test Plan:
Verify a radio button group is now in the LTI
key customization form UI. The default value
should be whatever privacy level was set in the
tool configuration JSON
Verify submitting the customization form sends the
selected privacy value nested in the tool settings
object param
Change-Id: I735ca22f5301503a40c921b9a2dc3e95dfbd70b1
Reviewed-on: https://gerrit.instructure.com/177311
Tested-by: Jenkins
Reviewed-by: Marc Phillips <mphillips@instructure.com>
QA-Review: Marc Phillips <mphillips@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>