Change-Id: Ie137c1040260b363979160e1f0558883577ebebd
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/222510
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
should reduce updates on users table every time
a submission is made
also remove touch_students on course change
since their caches should already be handled by the
enrollments cache_key
refs #CORE-2851
Change-Id: I5769cc5408bc0c9639c60c692cd3e117861b5bb1
Reviewed-on: https://gerrit.instructure.com/193902
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
closes CORE-2117
Test Plan:
- Using screenreader go through the global navigation
trays.
- They should say things like "Courses tray" rather than
"Global navigation tray"
Change-Id: Ic5f992ace58a66029cc91765b0e7c60440e4616b
Reviewed-on: https://gerrit.instructure.com/173002
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
closes: CORE-114
make it so the dashboard
only loads the dashboards by default and only loads
the stream items via ajax when you say you want them.
test plan:
* load your dashboard
* it should load faster than it did before (especially
for a user in a lot of classes with a lot of activity)
* click the toggle to see the "stream item view"
* it should show a spinner then load your stream items
* click any expand or collapse links on the stream items,
those should still work
* click the toggle a few more times, it should not
re-load the stream items
Change-Id: Id3b79ec30a238d13949a6f209d34d22669c1c64e
Reviewed-on: https://gerrit.instructure.com/89235
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: Ryan Shaw <ryan@instructure.com>
changes checks for :moderate_grades permissions to instead call
Assignment#permits_moderation?
closes GRADE-1227
Test Plan:
1. Verify only the final grader or an admin with select_final_grade
permission can give final provisional grades.
2. General smoke test on the Grade Summary page (logged in as final
grader and logged in as admin) and in SpeedGrader (logged in as
final grader, logged in as admin, and logged in as provisional
grader) for moderated assignments.
Change-Id: If039cc36c373097bab81993335b5f2306f90b17e
Reviewed-on: https://gerrit.instructure.com/155973
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Gary Mei <gmei@instructure.com>
Tested-by: Jenkins
QA-Review: Adrian Packel <apackel@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
fixes GRADE-976
test plan:
* Make sure the AMM flag is off
* All AMM features should be visible and work
* The Anonymous Marking and Moderated feature flags should be visible
* Toggling the AMM feature flag should do nothing
Change-Id: Ie0c52c23748389c6f5df5b85e8580bdf474c0a52
Reviewed-on: https://gerrit.instructure.com/152067
Reviewed-by: Adrian Packel <apackel@instructure.com>
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
Closes: CORE-750
This replaces all the code for the global nav tray
That pops out when you select “courses” “groups” “Help” or your avatar.
It replaces react-tray with InstUI tray and uses instUI components
wherever possible. that means that we need much less custom one-off
css for these things and can just use the instui defaults most of the
time.
Test plan:
* do a regression test on each of the global nav trays that pops out
when you select “courses” “groups” “Help” or your avatar
Change-Id: Ib32c6cc9e091ec5cbdbc19ced9fbbd5e2e4bae8f
Reviewed-on: https://gerrit.instructure.com/135354
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
fixes CNVS-41165
test plan
- should allow updating due date to invalid lock
range if lock range is also updated
Change-Id: I928918be6079e431ac38d471a68ed86a6991201d
Reviewed-on: https://gerrit.instructure.com/139788
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Landon Gilbert-Bland <lbland@instructure.com>
QA-Review: Venk Natarajan <vnatarajan@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
Closes: CNVS-33353
Test Plan:
- Navigate to the dashboard
- In the top right, instead of a toggle switch, there
should now be a cog
- Selecting the cog should trigger a popover menu
containing Dashboard View options
- Choosing 'Recent Activity' should change to the
recent activity feed
- If you refresh the page, you should still be on
the recent activity feed
- Selecting 'Recent Activity' while on the recent
activity feed should have no effect
- Selecting 'Dashboard Cards' should take you back
to the card dashboard
- If you refresh the page, you should still be on
the dashboard cards
- Selecting 'Dashboard cards' while on the dashboard
card view should have no effect
Change-Id: Ib0ce704dbc5c030274401d1b7bdfd13ec4b73be8
Reviewed-on: https://gerrit.instructure.com/97185
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Dan Sasaki
Product-Review: Kyle Follett <kfollett@instructure.com>
also add a cop to prevent it in the future
Change-Id: Ic949cc4448f546736aa3aeee17fc1fc33a1f2808
Reviewed-on: https://gerrit.instructure.com/99847
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
Refs: CNVS-28038
Test Plan:
- enable the help link in the rails console:
`Setting.set('show_feedback_link', 'true')`
- enable new ui
- verify that when you clik on the 'help' link in the global nav, the links
display in a navigation tray.
- verify that the create ticket and teacher feedback forms work fine
(within the tray).
- verify that there is no change to the 'help' dialog when launched from
the login page or the speedgrader.
- verify that there is no change to the 'help' dialog when launched with
old ui.
Change-Id: If455bc198fca89a2bf242a8230b30dc8ddfc234d
Reviewed-on: https://gerrit.instructure.com/84116
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Jennifer Stern <jstern@instructure.com>
QA-Review: Pierce Arner <pierce@instructure.com>
refs: CNVS-29532
ENV['CANVAS_FORCE_USE_NEW_STYLES'] is true in the
jenkins hourly NewUI only build. so each of these
were failing there.
as far as the formatting of these changes, I tried
to do it in a way to make it so the process of
removing the oldUI code path this summer is explicit,
easy and clear.
Change-Id: I05def03b73cca235ee0919cc86f01410ef51f4f1
Reviewed-on: https://gerrit.instructure.com/80533
Tested-by: Jenkins
Reviewed-by: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
refs: CNVS-29532
ENV['CANVAS_FORCE_USE_NEW_STYLES'] is true in the
jenkins hourly NewUI only build. so each of these
were failing there.
as far as the formatting of these changes, I tried
to do it in a way to make it so the process of
removing the oldUI code path this summer is explicit,
easy and clear.
Change-Id: Icb4653c2b5a32a28d192fe228ad8b480a25423bd
Reviewed-on: https://gerrit.instructure.com/80203
Tested-by: Jenkins
Reviewed-by: Robert Lamb <rlamb@instructure.com>
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
and misc cleanup on surrounding lines
notes:
* include_text now only works on elements, not strings
* include_text now waits
* include_text barfs if you wrap it in a redundant keep_trying_until
Change-Id: I164cb8177aecc1fee92053a5468dfdfaf26c7576
Reviewed-on: https://gerrit.instructure.com/79780
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Tested-by: Jenkins
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
fixes SD-1063, speeds up :allthethings:
negative DOM assertions are 💩, but if we must have them, make them
more tolerable. the old way:
expect(f(".something-that-should-be-gone")).to be_nil
expect(fj("buhleeted:visible")).to be_nil
expect(fln("Can't Click Here Anymore").to be_nil
the new way:
expect(container).not_to contain_css(".something-that-should-be-gone")
expect(container).not_to contain_jqcss("buhleeted:visible")
expect(container).not_to contain_link("Can't Click Here Anymore")
(you can of course use these new matchers for positive assertions as well)
although it's a tad more verbose, the new way is better because:
1. it's smart enough to bail once the assertion is met (versus the old way
which would take 10-20 seconds to not find the thing and *then* run the
assertion)
2. it requires them to be scoped, to reduce the likelihood of false
positives (e.g. if the page is totally broken, then of course the
assertion would pass)
also reworked the various flash message assertions... see the new
expect_flash_message and expect_no_flash_message
this should remove over an hour of linear time off the build (10 sec per
old assertion, except fj ones which took 20 sec)... so like a minute of
actual time, cuz parallelization :P
a consequence of this change is that f/fj/ff/ffj now raise if nothing is
found, so you really have to go out of your way to do it the bad way. so
don't :)
Change-Id: I0fe6e8500947c27d748b70bb2cda585edf71e427
Reviewed-on: https://gerrit.instructure.com/78420
Tested-by: Jenkins
Reviewed-by: Landon Wilkins <lwilkins@instructure.com>
Product-Review: Landon Wilkins <lwilkins@instructure.com>
QA-Review: Landon Wilkins <lwilkins@instructure.com>
Fixes CNVS-26584
Test plan:
- Have some items in your todo list
- Ignore the first one
- Ensure that focus jumps to the "To Do" header
Change-Id: I07f90a38c4afb6ed67b293459917edbf15f8aea4
Reviewed-on: https://gerrit.instructure.com/70740
Reviewed-by: Joel Hough <joel@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Tested-by: Jenkins
Product-Review: Alex Boyd <aboyd@instructure.com>
Fixes CNVS-25877
Test plan:
- Create a user with:
- an assignment that needs to be submitted
- an assignment that needs to be graded
- an assignment whose grades the user needs to moderate
- an assignment that they need to peer review
- a calendar event that they can see
- Go to the user's home page
- Ensure all of the assignments show up in the to-do list
- Ensure they show up in Coming Up as well
- Ensure that the calendar event shows up under Coming Up
- Go to the courses where you created the assignments
- Ensure that each assignment shows up on its respective course to-do
list
- Submit an assignment
- As a teacher, ensure that the assignment shows up as needing
grading, and that the number in the badge to the left is 1
- Ensure that screenreaders read the badge as "1 submission
needs grading"
- Make another submission as a different user
- Clear the cache by running `Rails.cache.clear` at a Rails console
- As the teacher, ensure that the badge is now 2
- Ensure that screenreaders read the badge as "2 submissions
need grading"
- Repeat 8 more times as different users, so that there are now
10 submissions
- Clear the cache again
- Ensure that the badge now says "9+"
- Ensure that screenreaders read the badge as "More than 9
submissions need grading"
- As the user who submitted the assignment, ensure that the grade
shows up on the To-Do list, Coming Up, and Recent Feedback
- As a teacher, leave a submission comment
- As the user who submitted the assignment, ensure that the comment
shows up under Recent Feedback
- Create a public course
- You can make a course public by going to its settings page
and checking "Make this course publicly visible"
- Log out
- Visit /courses/<id>, where <id> is the id of the course
- Ensure that the course shows as expected, and that nothing
shows up on the to-do list
- Automated tests should cover everything else
Change-Id: I18673995db94d896bf2c39515258e61065b48319
Reviewed-on: https://gerrit.instructure.com/69474
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Tested-by: Jenkins
Product-Review: Allison Weiss <allison@instructure.com>
test plan:
- ensure the "Moderate Grades" permission is available
- ensure the Moderated Grading assignment setting is available
and persists across course copy
- sanity check the Moderated Grading workflow to ensure all
the pieces are still there
fixes CNVS-25080
Change-Id: I490a837f93b5ca35e57469c4411e09f2eb6f411c
Reviewed-on: https://gerrit.instructure.com/69121
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
test plan:
* create a moderated assignment
* make a provisional grade
* the assignment should show up in the
todo list for the moderator
to "Moderate X" and take them to the
assignment moderation page
* the todo item should be ignoreable
(either permanently or until a mark is created/changes)
closes #CNVS-23307
Change-Id: I7007ba948e688ca5864a0d851c153a288bef4233
Reviewed-on: https://gerrit.instructure.com/64734
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
- reasoning: this group contains set-up and teardown,
it does not include 'it' blocks
Change-Id: I1803420a5c7f59246f3af211e42ced808a994c3f
Reviewed-on: https://gerrit.instructure.com/60329
Tested-by: Jenkins
Reviewed-by: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
fixes CNVS-19205
Test Plan:
- Add a submission to a course that needs grading.
- As a teacher of the course go to your dashboard
- In the to do list, use a SR to access the menu that
pops up with the Ignore "X".
- You should be able to navigate it without problem
- The same behavior should occur from the course
home page.
- For keyboard only, focus should go to the previous
ignore "X" if it is there.
- If a previous ignore "X" isn't available, it should
go to the view calendar link.
Change-Id: I8e8297dc41ac8af69131ef748f25f169541c2958
Reviewed-on: https://gerrit.instructure.com/50278
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
QA-Review: Clare Strong <clare@instructure.com>
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
also a touch of refactoring
test plan:
* create a course with a student, teacher and designer
* also create an assignment
* as the student, submit to the assignment
* as the teacher, should be able to see the assignment in
the "To Do" list on the right-hand side of the dashboard
* as the designer, should *not* be able to see it
closes #CNVS-8059
Change-Id: I97b61bf857a1cf84c71597ffdd3c816023b84dd5
Reviewed-on: https://gerrit.instructure.com/50063
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Refs CNVS-15688
One each for the main dashboard, teacher dashboard, todo section,
and coming up sections.
Test Plan:
Verify that all 4 files run in under two minutes each, on Jenkins.
Change-Id: I417eeb43a1c80a5134295459555b26e4a34e0231
Reviewed-on: https://gerrit.instructure.com/41578
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Product-Review: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Matthew Wheeler <mwheeler@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>