closes CNVS-31550
test plan:
* As a teacher, create a course with a couple of assignments
* As a student, login to Canvas (or masquerade)
* With VoiceOver or other screen reading tech enabled, go to the
grades summary
* Tab over to the grades table
* The first time you enter the table the instructions about the
what-if tool that are displayed in the bottom right corner
of the screen will be read out by VoiceOver
* Change any of the grades to setup what-if scenarios and notice
that VoiceOver will read out the new grade as you change it.
Change-Id: I9070d210d7d2280c2b5e5c948e5ec8d1261ee2a5
Reviewed-on: https://gerrit.instructure.com/97406
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Alex Morris <amorris@instructure.com>
Product-Review: Christi Wruck
refs CNVS-33837
Test Plan:
- Run script/eslint
- It works
Change-Id: I4ab0b5746633a535c85ce79e171a781f07fe9433
Reviewed-on: https://gerrit.instructure.com/97466
Tested-by: Jenkins
Reviewed-by: Jon Jensen <jon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
closes CNVS-33818
test plan:
1. enable multiple grading periods.
2. create a course with at least one teacher and one student.
3. masquerade as the teacher.
4. create an assignment.
5. assign it to one student and save.
6. click to edit the assignment; notice it says 'Loading...'
in the 'Assign' field only briefly, and then the student
name replaces the 'Loading' text.
Change-Id: Ic0007e98698a4ed7b0cca593c02f6553c9c32bc5
Reviewed-on: https://gerrit.instructure.com/97441
Tested-by: Jenkins
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: KC Naegle <knaegle@instructure.com>
Product-Review: Christi Wruck
refs CNVS-33805
test plan: specs pass
Change-Id: Ia6b22984da5c7dc31b4cb15fd820e5f453894fed
Reviewed-on: https://gerrit.instructure.com/97493
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
This reverts commit 301d8ec66a.
we've re-added the string limits that was causing these specs to fail
refs CNVS-33340
test plan: specs pass
Change-Id: I809c1cff8f71e279cac4ad6caa1e4b25884f46fc
Reviewed-on: https://gerrit.instructure.com/97337
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
Closes CNVS-33839
Test Plan:
* Make sure Webpack isn't configured by removing
config/WEBPACK (if it exists) and removing the
USE_WEBPACK environment variable
* Try using jspec a la:
`npm run jspec spec/javascripts/some_spec`
* It should throw an error and exit, stating that
webpack needs to be enabled to work
* Run `touch config/WEBPACK`
* Retry the `jspec` command from above
* It should run the spec without throwing an error
Change-Id: Ia6260c442c847a8bed966f8bacc8a70fa22442d7
Reviewed-on: https://gerrit.instructure.com/97487
Tested-by: Jenkins
Reviewed-by: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
Product-Review: Dan Minkevitch <dan@instructure.com>
QA-Review: Dan Minkevitch <dan@instructure.com>
closes CNVS-33618
Change-Id: Iecf79eee08a08325361f67af815399b04b235d2c
Reviewed-on: https://gerrit.instructure.com/92752
Tested-by: Jenkins
Product-Review: Benjamin Christian Nelson <bcnelson@instructure.com>
QA-Review: Benjamin Christian Nelson <bcnelson@instructure.com>
Reviewed-by: Benjamin Christian Nelson <bcnelson@instructure.com>
Change-Id: Ie0878936d159ea9294469b324da3196f9eaf13f6
Reviewed-on: https://gerrit.instructure.com/97474
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
refs OFFW-35
test plan:
- with the epub feature flag turned off in an account,
ensure an account user cannot access the /epub_exports url
- with the epub feature flag turned off in a course,
ensure you cannot see the epub course setting
- check both of the above with the epub flag on and the
offline web export account setting enabled
Change-Id: I06232826305755bc68414f93b3e4edb2a64a0d5f
Reviewed-on: https://gerrit.instructure.com/96458
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Tested-by: Jenkins
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
basically, it thought it was calling back to the
native date.prototype.toString but it was really
just calling itself, so it would keep doing that
infinitely.
test plan:
this didn’t happen very often but sometimes the
calendar page would throw an error on load because
the it ran out of js stack size. so it is pretty
hard to think of a definitive test of where it didn’t
work before but if you
open calendar page and files page and they work,
this should be good
Change-Id: I1beec8347b46582761912a2137640bfd3fe6b9e2
Reviewed-on: https://gerrit.instructure.com/95845
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Fixes: SIS-2577
Note:
- This commit is reverting the feature flag `Allow Bulk Grade
Export to SIS`. This feature flag paired with the `Post Grades
to SIS` allows the SIS Assignments API to be used. Removing this
feature flag makes the only requirement enabling the `Post
Grades to SIS` to allow use of the SIS Assignments API. For
reference this is the orginal commit of adding this feature:
https://gerrit.instructure.com/#/c/54418/
There was a refactor that occurred as well which can give more
insight into the removal of this feature:
https://gerrit.instructure.com/#/c/56653/
Test plan:
- Enable the `Post Grades to SIS` feature flag
- Confirm the functionality of the SIS Assignments API is still
working as expected. (i.e. Skyward GPB, Pinnacle GPB, etc.)
Change-Id: I05bb108d0a959c461abcd9299dcd4b6f0c8c73d5
Reviewed-on: https://gerrit.instructure.com/96931
Tested-by: Jenkins
Reviewed-by: Stewie aka Nicholas Stewart <nstewart@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Product-Review: Oxana
Because of the async nature of the callbacks in the modal
this was failing because the spec ran too quickly. This
wraps it in a simple 1ms setTimeout that causes it to wait
a tick, then make the remaining asserts asyncronously.
Test Plan:
- Specs pass
Change-Id: Ied07f1ef71cf183f49bcb702ca886edeef1ad4de
Reviewed-on: https://gerrit.instructure.com/97460
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Tested-by: Jenkins
Product-Review: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Clay Diffrient <cdiffrient@instructure.com>
hide the warning "Expected string default value for '--serializer'; got
true (boolean)". it's caused by active_model_serializers not properly
passing options to hook_for, but it just means you have to use
--serializer=true instead of just --serializer, and it only affects
arguments to the `rails generate resource` generator.
test plan: start a rails console, you shouldn't see the warning
Change-Id: I10faaa0c2ca5266d520ee18062a93b828ec879b0
Reviewed-on: https://gerrit.instructure.com/97380
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Bryan Petty <bpetty@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
When an assignment has both VeriCite and Peer Review enabled, allow reviewers to see the VeriCite reports.
Test Plan:
1) Enable VeriCite in the account plugins page
2) Create an assignment with both VeriCite and Peer Review enabled
3) Submit as multiple students
4) Assign peer reviews (manually or automaticaly)
5) As a student, view a peer review and make sure the VeriCite report is available
6) Modify the assignment's VeriCite advanced settings and set Students Can See the Originality Report to "none"
7) Make sure the students can not see the VeriCite reports in the Peer Review page
refs FALCOR-8
closes FALCOR-30
Test plan:
* make a moderated grading assignment
* go to the assignment moderation page
* student names should open the context card (only when that feature
flag is enabled)
Change-Id: Id57b95a00538fadfcb4996714c476aa7bac8a017
Reviewed-on: https://gerrit.instructure.com/95370
Tested-by: Jenkins
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
refs FALCOR-52
test plan:
- Navigate to the gradebook
- Click on a student's name
- Observe that the tray opens
- Close the tray
- Click on a different student's name
- Observe that the tray opens with a different student's info.
Change-Id: I7185f9cfc42b8b28481718c27d414382520eee50
Reviewed-on: https://gerrit.instructure.com/97171
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: John Corrigan <jcorrigan@instructure.com>
test-plan:
- have live events enabled (see doc/live_events.md)
- tail the live events stream (see same doc)
- create a course; emitted course_created event should have global IDs
- enroll a new user in the course; emitted user_created,
user_account_association_created, enrollment_created, and
enrollment_state_created events should all have global IDs
- create an account notification; emitted account_notification_created
event should have a global ID
Change-Id: Ib127a3bd2c88d607efdf0063857a9873e78e9483
Reviewed-on: https://gerrit.instructure.com/97358
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Jenkins
QA-Review: Benjamin Christian Nelson <bcnelson@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
fixes: CNVS-33769
the file we were building with core-js was
not including an array iterator polyfill
so if you were using this polyfill in IE 11
and did `Promise.all([1,2])` it would fail
saying ‘1,2 is not iterable!’
test plan:
in IE11,
load a page in canvas
open the developer tools and type:
Promise.all([1,2]).then(function(o,t){console.log(‘it worked’, o, t)})
it should log:
“it worked 1 2”
and not throw an error
Change-Id: I49a6cd439c151b7703d77a7400856f438937443d
Reviewed-on: https://gerrit.instructure.com/97219
Tested-by: Jenkins
Reviewed-by: John Corrigan <jcorrigan@instructure.com>
QA-Review: Benjamin Christian Nelson <bcnelson@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
closes: CNVS-33717
test plan:
in take-quiz, we had this one require for:
'worker!compiled/workers/quizzes/quiz_taking_police'
that worked because requireJS would look for a plugin
at public/javascripts/worker.js and webpack1 understood
‘worker’ to mean ‘worker-loader’ (I don’t know
if we even meant it to work in webpack before or if
we just got lucky that it did) but in webpack2:
“It's no longer allowed to omit the '-loader' prefix when using loaders.
You need to specify 'worker-loader' instead of 'worker’.”
so to make it work out of the box for webpack2,
I just renamed the requireJS plugin file to worker-loader
so they would both work like before.
test plan:
in requireJS & webpack
* go to take a quiz
* it should register a web worker and the stopwatch
should tick
Change-Id: I8ad55530b6cef00f674afead5a53db52959f4a03
Reviewed-on: https://gerrit.instructure.com/97038
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Tested-by: Jenkins
QA-Review: Benjamin Christian Nelson <bcnelson@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
fixes OUT-476
[ci-coverage]
test plan:
- load /plugins/academic_benchmark_importer
- confirm that no API v3 partner key value is present
- enter API v1 api key
- perform an import using the outcomes importer tool
- confirm that the outcomes are imported properly without errors
- clear out all learning outcomes
- load /plugins/academic_benchmark_importer
- enter an API v3 partner key
- perform an import using the outcomes importer tool
- confirm that the outcomes are imported properly without errors
Change-Id: I07fad9a4745e2dde35c67c2e862115d2a30d5957
Reviewed-on: https://gerrit.instructure.com/94489
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
QA-Review: Cemal Aktas <caktas@instructure.com>
Tested-by: Jenkins
Product-Review: Jessica Hill <jhill@instructure.com>
closes OFFW-28
test plan:
* turn on the account and course settings for the offline web export
* go to the modules page and see the "download course content" button at
the top of the modules list
* should be visible in student and teacher view
* setup some modules with some "must view" module completion rules
* click the button and see that it takes you to the exports download
page.
* go back to the modules page and see that all "must view" progressions
have been marked as done.
* disable the course setting for offline web export, and see the button
is not longer visible on the modules page.
Change-Id: I9d39b3a798feb211c9f09067f5b955ebe63299f5
Reviewed-on: https://gerrit.instructure.com/95854
Reviewed-by: Cameron Sutter <csutter@instructure.com>
Tested-by: Jenkins
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
test plan:
- ungraded assignments and quizzes should only appear in the todo
list if they are due in the next week - not if they are
past-due
fixes CNVS-33023
Change-Id: I3fdaaf096fd30adde22a77c5d60351ffefd3024d
Reviewed-on: https://gerrit.instructure.com/95503
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Joel Hough <joel@instructure.com>
Tested-by: Jenkins
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Chris Ward <cward@instructure.com>
closes: CNVS-33810
because this is code that runs on node 6, we can
actually rely on all our es2015 "best practices".
this change was because the code in this folder had a bunch
of different styles and incosistencies, and I wanted to clean it
up while I am working on all this webpack stuff before we turn
it on everywhere.
this is basically the result of running:
npm install -g jscodeshift
cd ..
git clone https://github.com/cpojer/js-codemod.git
jscodeshift -t js-codemod/transforms/arrow-function.js canvas-lms/frontend_build
jscodeshift -t js-codemod/transforms/no-vars.js canvas-lms/frontend_build
jscodeshift -t js-codemod/transforms/object-shorthand.js canvas-lms/frontend_build
jscodeshift -t js-codemod/transforms/template-literals.js canvas-lms/frontend_build
jscodeshift -t js-codemod/transforms/trailing-commas.js canvas-lms/frontend_build
npm install -g standard-format
cd canvas-lms/frontend_build
standard-format -w
Change-Id: Ifb347a5577504dbca6402ad3ec71de2ec58a423a
Reviewed-on: https://gerrit.instructure.com/92166
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
closes #CNVS-33762
Change-Id: I2cfd8806606f0035dbe37fd01abe7955a156c413
Reviewed-on: https://gerrit.instructure.com/97116
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: David Tan <dtan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes PLAT-1996
test plan:
- submit some homework as a student of type 'online upload'
- create an OriginalityReport for the student
- check that the data for the OriginalityReport shows up in
speedgrader
*Other Considerations
-we need to do some performance testing on speed grader to ensure
we didn't cause any performance regressions
Change-Id: I5837f34ceea7a84fe42342ebba86c955c8bb94eb
Reviewed-on: https://gerrit.instructure.com/96939
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Karl Lloyd <karl@instructure.com>
fixes PLAT-1912
test plan:
- Create an OriginalityReport for an attachment on a submission
- Call #originality_data on the submission
- You should get back the originality_report data
- Create some tii data on a submission
- call #originality_data on the submission
Change-Id: I35687c9b8d3e87a9d2359efadb5854452a47c8a8
Reviewed-on: https://gerrit.instructure.com/96583
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>