fixes GRADE-1485
test plan:
- Ensure AssignmentOverrideStudent calls DueDateCacher for a single
student for that assignment on create/edit/destroy.
- Ensure that the cached due date for the student looks correct
after create/edit/destroy
Change-Id: Id17276e5b1213d6764dfee26d23db55addf3924c
Reviewed-on: https://gerrit.instructure.com/161381
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
Closes ADMIN-1314
Test Plan:
* On the modules page of a course, add a new
external URL/external tool module item
* Enter a URL that contains an un-escaped
unicode character (ex: http://graphemica.com/ø)
* Save the module item
* The item should save successfully and show up
within the module
Change-Id: Idb6e8014e98abb12a30e56ab0c0f2b9ef29dbbe7
Reviewed-on: https://gerrit.instructure.com/160691
Reviewed-by: Carl Kibler <ckibler@instructure.com>
Reviewed-by: Jon Willesen <jonw+gerrit@instructure.com>
Tested-by: Jenkins
QA-Review: Mysti Sadler <mysti@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
fixes RECNVS-547
generally, in Multipart::Post, you can get a stream representation of
the body instead of a string, and in CanvasHttp.post you can request
that stream be supplied to the underlying request's body_stream instead
of the string to the underlying body. inst-fs then supplies the
streaming flag during direct upload.
this avoids an error when the body as a single string is too large to
POST.
test-plan:
- confirm general upload-from-canvas functionality is preserved by
triggering uploads from canvas to another server
- e.g. inst-fs enabled course export
- e.g. inst-fs enabled course export
- confirm specific upload-from-canvas functionality with streamed larger
files
- i.e. inst-fs enabled course export where the export size is larger
than 2GB
- note that there may be a new HTTP 504 error when the upload size
approaches 3GB. this is a separate issue not related to this commit
Change-Id: I15e22e6688233a77783d1cd86960bbaaa64eb0dc
Reviewed-on: https://gerrit.instructure.com/160105
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Michael Jasper <mjasper@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
test plan:
* regression test dashboard
closes #CORE-1733
Change-Id: I301e8670c9fccd1a2340adce01379f0c6d3b7c01
Reviewed-on: https://gerrit.instructure.com/161174
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
closes QUIZ-5103
Test Plan:
- Navigate to course-setting, import content page.
- Select 'Common Cartridge 1.x'
- Click 'Import assessment content as Quizzes.Next'
- Verify the message "This option is not compatible with Quizzes.Next"
is displaced in 'Licorice' #2D3B45
Change-Id: I3e99cb72d4fb52f0441546a38ae8ee54837bcac5
Reviewed-on: https://gerrit.instructure.com/161347
Tested-by: Jenkins
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: Kevin Dougherty <jdougherty@instructure.com>
Fixes PLAT-3551
Test Plan:
- Add icons to two developer keys. One image should
be very wide, the other should be very tall.
- View the developer key index page and verify
that the icons are constrained to their 4remx4rem
containers.
- Verify no part of the icon image is trimmed.
Change-Id: Ib16cfc940a7569e4624f85bb5558313c96b56b0d
Reviewed-on: https://gerrit.instructure.com/157590
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Nathan Mills <nathanm@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
Fixes: UIDEV-205
test plan:
- click admin from main nav (select main acc - not site admin)
- is there a 'Faculty Journal' option in the sub-nav... if not
the feature will need to be turned on via checking the box
on the first tab of the settings page
- once or if it is available select 'Faculty Journal' from the
sub-nav
- create an entry ... ensure the title has been bolded and the
author and time stamp are no longer in italics
example: https://cl.ly/3j2P0j1U2U00
Change-Id: Iaeb84646ce3559320f493a4a07519bbe8b0cf428
Reviewed-on: https://gerrit.instructure.com/161169
Reviewed-by: Stephen Jensen <sejensen@instructure.com>
Tested-by: Jenkins
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Kyle Follett <kfollett@instructure.com>
Fixes: UIDEV-204
test plan:
- click admin from the main nav
- click settings from the sub nav
- select the last Features tab
- the fields that do not have a toggle and only show an
"On" in the field should no longer be italicized
example: https://cl.ly/1l2m2r2M2f0V
Change-Id: I5fd08401258b189e2d584ecb4477154d7d7c81a1
Reviewed-on: https://gerrit.instructure.com/161168
Reviewed-by: Stephen Jensen <sejensen@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Tested-by: Jenkins
Product-Review: Kyle Follett <kfollett@instructure.com>
fixes ADMIN-1318
test plan:
- make sure the new keybaord text shows up when you're cropping an
avatar.
Change-Id: Id60312e3215900a22cbf43724574f3c5459e8fd0
Reviewed-on: https://gerrit.instructure.com/161050
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: Dan Sasaki <dsasaki@instructure.com>
Though this was recently fixed in ADMIN-1218, a bug in Safari is causing
problems. This fixes it, though at the visual expense of the focus
outline not being nicely tight around the icon.
Update: in firefox, the outline on the <a> is obscured by the jewel with the
notification count. I'm doing a bit of browser sniffing to pick which
approach to take.
closes ADMIN-1327
test plan
- load the card dashboard
- tab through
> expect the focus outline to behave well on the icons across the
bottom of each card
- switch to the recent activity dashboard
> expect focus indication to look right as you tab around in here too
Change-Id: Icee8044e73b13c263b5bb12199637ae6d0ff257f
Reviewed-on: https://gerrit.instructure.com/160900
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: Dan Sasaki <dsasaki@instructure.com>
closes GRADE-1480
test plan:
A. Setup
1. Create a published course
2. Enroll one teacher
3. Enroll two TAs
4. Enroll three students
5. Create a moderated assignment
* with Teacher as final grader
6. As the first TA:
a. Visit SpeedGrader for the assignment
b. Grade Student 1
c. Grade Student 2
7. As the second TA:
a. Visit SpeedGrader for the assignment
b. Grade Student 2
c. Grade Student 3
8. Open the Rails console
9. Note these attributes of the provisional grades:
* `id` (provisional grade id)
* `user_id` (student id)
* `scorer_id` (grader id)
assignment = Assignment.find(:id)
assignment.pluck(:id, :user_id, :scorer_id)
B. Verification without Anonymity
* To test bulk selection, send a PUT request to:
/api/v1/courses/:course_id/assignments/:assignment_id/
↪ provisional_grades/bulk_select
* Use a session for the final grader
* Include in the request body an object as follows:
{provisional_grade_ids: […]}
* The array will contain some of the provisional grade ids
noted from the Rails console
* The response will include an array of objects as follows:
{
"assignment_id": "1",
"selected_provisional_grade_id": "2",
"student_id": "3"
}
* To verify grade selection:
a. Log in or act as the Teacher
b. Visit the moderation page for the assignment
c. Verify the intended grades have been selected
* Each of the following steps will be done in sequence without
resetting anything to a prior state
1. Bulk select the following grades:
* TA-1's grade for Student 1
* TA-2's grade for Student 2
2. Verify the JSON includes the following grades:
* TA-1's grade for Student 1
* TA-2's grade for Student 2
3. Verify the following grades are selected:
* TA-1's grade for Student 1
* TA-2's grade for Student 2
4. Bulk select the following grades:
* TA-1's grade for Student 2
* TA-2's grade for Student 3
5. Verify the JSON includes the following grades:
* TA-1's grade for Student 2
* TA-2's grade for Student 3
6. Verify the following grades are selected:
* TA-1's grade for Student 1
* TA-1's grade for Student 2
* TA-2's grade for Student 3
7. Bulk select the following grades (listed in this order):
* TA-1's grade for Student 1
* TA-2's grade for Student 3
* TA-1's grade for Student 3
8. Verify the JSON includes the following grades:
* TA-1's grade for Student 3
9. Verify the following grades are selected:
* TA-1's grade for Student 1
* TA-1's grade for Student 2
* TA-1's grade for Student 3
B. Verification with Anonymity
1. Enable anonymous grading for the assignment
2. Bulk select the following grades:
* TA-2's grade for Student 2
* TA-2's grade for Student 3
3. Verify the JSON includes "anonymous_id"
4. Verify the JSON excludes "student_id"
e1d4b3ee4d
Change-Id: I51190808a9dfd321c6110f50d6d0e4661fa86c1c
Reviewed-on: https://gerrit.instructure.com/161215
Reviewed-by: Adrian Packel <apackel@instructure.com>
Tested-by: Jenkins
Reviewed-by: Gary Mei <gmei@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
fixes GRADE-1387
test plan:
A. Setup
1. Select or create a published course
2. Enroll a teacher
3. Enroll two TAs
4. Enroll one student (more is fine, but means more work)
5. Create a moderated assignment
* optionally assign to only one student for less work
* Teacher is final grader
6. As the student:
a. Submit to the assignment
b. Leave a comment
7. As each TA:
a. Visit SpeedGrader
b. Grade and comment on the submission
B. Verification
1. Sign in or act as the Teacher
2. Visit the moderation page
3. Select the grade made by the first TA
4. Post grades
5. View the student's submission in SpeedGrader
6. Verify the student comment is visible
7. Verify the first TA's comment is visible
8. Verify the second TA's comment is not visible
Change-Id: Id2803fbde8641206ab9727a9946346fe1a1722e8
Reviewed-on: https://gerrit.instructure.com/160863
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
fixes ADMIN-1266
test plan:
- As teacher, go to Course->Settings. Enable screen reader.
- Go to "Validate Links in Content" page
- Click "Validate Links" (or "Restart Link Validation, whatever it
currently says). Should say aloud "Link validation in progress"
- When job finishes, will read output like "Found 1 unresponsive
link"
- Re-run job and should do same. Ensure it does not repeat previous
outcome instantly and just says "Link validation is running".
Change-Id: I4db43a9dc06fb0f98044ff5c9fa46adc52d4f6bd
Reviewed-on: https://gerrit.instructure.com/159440
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Dan Sasaki <dsasaki@instructure.com>
Product-Review: Carl Kibler <ckibler@instructure.com>
refs CORE-1738
test plan
- group membership importer should work
Change-Id: I3678dfa3501ccb48a0de6db5fa32dd50a9c2a1c7
Reviewed-on: https://gerrit.instructure.com/161309
Reviewed-by: James Williams <jamesw@instructure.com>
Tested-by: Jenkins
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
fixes ADMIN-1232
test plan:
- on the list view dashboard
- have no items and make sure the desert screen comes up without showing
the TV image first.
- have only past items and make sure the balloon screen comes up without
showing the desert screen first.
Change-Id: I9151c0be40d48b9be08ea570c946fccbca8ee18c
Reviewed-on: https://gerrit.instructure.com/160948
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: Pert Eilers <peilers@instructure.com>
fixes CORE-1738
test plan
- have a deleted group membership in a group
- have an active group membership in a group
- import an active group membership via sis csv
- it should not fail
Change-Id: Ide644d7f83601c603287cbcdb376f27a4e6ce9d4
Reviewed-on: https://gerrit.instructure.com/161275
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
after filtering out passwords of course
test plan:
* with the sis imports refactor feature flag on,
upload some zips and csvs to sis imports,
including some users.csv files with passwords
* view the sis imports API index and show
endpoints
* should be able to use the urls in the new
"csv_attachments" attribute to download versions
of the imported files without passwords
closes #CORE-1655
Change-Id: I31e34d42f4abf2597efd6066dabea6f230632855
Reviewed-on: https://gerrit.instructure.com/158899
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
test plan:
- set availability dates for a folder using the publish cloud
- copy the course and shift dates
- ensure these dates are shifted in the target course
fixes ADMIN-1329
NOTE: canvas currently does not preserve folder availability
dates in common cartridge import--only in course copy.
Change-Id: I0544564cf237d7a935185e8dd78a109437e72f5e
Reviewed-on: https://gerrit.instructure.com/160651
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Carl Kibler <ckibler@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Fixes PLAT-3673
Test Plan
- Install an LTI 2 tool with the new
com.instructure.Assignment.anonymous_grading capability
enabled
- Associate the tool with an assignment with anonymous
grading on
- Verify the parameter is sent in the launch message
Change-Id: I83b244b5c3aa9e86b9ac3786fad07e8e2847cd2b
Reviewed-on: https://gerrit.instructure.com/161133
Reviewed-by: Marc Alan Phillips <mphillips@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Weston Dransfield <wdransfield@instructure.com>