closes RECNVS-371
test plan:
- enable the sis import feature
- import a sis batch (example below)
- this import should generate warnings/errors
- the error file should be downloaded from instfs
Here is an example sis-batch.csv which should generate warnings/errors
```
user_id,login_id,authentication_provider_id,password,first_name,last_name,short_name,email,status
01103,bsmith01,,,Bob,Smith,Bobby Smith,bob.smith@myschool.edu,active
13834,jdoe03,google,,John,Doe,,john.doe@myschool.edu,active
13aa3,psue01,7,,Peggy,Sue,,peggy.sue@myschool.edu,active
```
Change-Id: I83c1de4a9d25958a5db327be3ce7cd01c085a155
Reviewed-on: https://gerrit.instructure.com/150230
Tested-by: Jenkins
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Michael Jasper <mjasper@instructure.com>
refs GRADE-1057
Test plan:
- Specs pass
- In a course with at least one student, create a new assignment
and make sure there are no errors
Change-Id: If429480ea516177bfed91509d149275190b44931
Reviewed-on: https://gerrit.instructure.com/150069
Reviewed-by: Derek Bender <djbender@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Jenkins
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
Change-Id: Ib9deca4c47a3ed8f517af1560dbf757d2a8ee3cd
Reviewed-on: https://gerrit.instructure.com/150214
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
use in_frame instead of driver.switch_to
Change-Id: Ia00d5dc8520873d97dfdaf8971f7eb612d8eb341
Reviewed-on: https://gerrit.instructure.com/150180
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
test plan:
- have a student in a published course, using the dashcards
- ensure the student does not receive a dashcard unread notification
for a teacher's reply to:
- an unpublished discussion topic
- a discussion topic whose lock date is past
- a discussion topic whose post date is in the future
fixes ADMIN-740
Change-Id: Iefa9bee89bcd67a07f9d1f543afd5e6d8f75774c
Reviewed-on: https://gerrit.instructure.com/150070
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
test plan:
- set up an admin that has "Manage course files" but does not
have "Manage all other course content"
- the admin should not see the "Import Content" button
in the right sidebar of course settings
fixes ADMIN-1042
Change-Id: If4416f8398a165b02d3d5d082cec3e4db218cdc7
Reviewed-on: https://gerrit.instructure.com/150004
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
closes: CORE-1414
this is just the result of running:
https://github.com/reactjs/react-codemod#manual-bind-to-arrow
test plan:
* nothing should actually change when running the demo
Change-Id: I7f6d172d8ec6b0365861f2cc69bec5a9df5b85ae
Reviewed-on: https://gerrit.instructure.com/149943
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Instead, consumers are expected to have already globally polyfilled
so they have the modern browser apis. Canvas already does this but if
you need suggestions for how to this in your own app, you can just put
This in your html above the script that includes canvas-rce:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?rum=0"></script>
(See: https://polyfill.io/v2/docs/ for more info)
Closes: CORE-1412
Test plan:
* the canvas-rce bundle in canvas’s webpack build should be much smaller
* smoke test canvas-rce, everything should still work as it did before
since canvas already had polyfills for everything we removed here
Change-Id: I3cd9ad38eb9e02d68ff36043318058bb09071d25
Reviewed-on: https://gerrit.instructure.com/149858
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Closes: CORE-1417
Even though the PSA that instUI put out about needing to update asap
doesn’t affect us because we already always set the `dir` attribute
on the <html> tag, this upgrades us to that new version so there is
no confusion
Test plan:
* automated builds should pass
* nothing should actually change since there is nothing significant
In this upgrade other than the new thing that adds the dir=“ltr”
attribute for you if you haven’t already
Change-Id: Id7a471265c49c595c7a71a54258218d4062be7b6
Reviewed-on: https://gerrit.instructure.com/150156
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Switch from doing an open query on the shard to doing a
find_ids_in_ranges query.
test plan:
- specs pass
Change-Id: Ia2268931cc6e00a2f711a1234cd66c98472c5dfe
Reviewed-on: https://gerrit.instructure.com/150158
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Jenkins
Product-Review: Keith T. Garner <kgarner@instructure.com>
QA-Review: Keith T. Garner <kgarner@instructure.com>
This gets Landon's and Felix's table into master so that we can
start building on it. It is incredibly terribly ugly.
Also run prettier on our existing js files.
Refs COMMS-896
Test Plan:
* Enable updated permissions page
* Go to accounts/:account_id/permissions
* A *VERY* ugly "table like thing" should show up.
Change-Id: I5817b4da00ae5648965e3387be0be3bc4e5f4244
Reviewed-on: https://gerrit.instructure.com/149703
Reviewed-by: Aaron Kc Hsu <ahsu@instructure.com>
Tested-by: Jenkins
QA-Review: Landon Gilbert-Bland <lbland@instructure.com>
Product-Review: Venk Natarajan <vnatarajan@instructure.com>
This yarn.lock change should have gone with the last commit
Change-Id: Ie662859571f1a3bc15ce03c037734b35a3c8dde9
Reviewed-on: https://gerrit.instructure.com/150141
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
use 'become' matcher to wait for change
Change-Id: I93cc2467fd727f6aad95a17c8d5a72321fcb4455
Reviewed-on: https://gerrit.instructure.com/150140
Tested-by: Jenkins
Reviewed-by: James Butters <jbutters@instructure.com>
Product-Review: James Butters <jbutters@instructure.com>
QA-Review: James Butters <jbutters@instructure.com>
refs: CORE-1414
this is just the result of running:
https://github.com/reactjs/react-codemod#pure-component
test plan:
* nothing should actually change when running the demo
Change-Id: Idce33764aaa9f19e3b430d75f577e4ff7149a892
Reviewed-on: https://gerrit.instructure.com/149944
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
fixes COMMS-1118
Test Plan:
- Navigate to the people page and create a group set
- with click on that group set tab
- create a bunch of groups (like 30)
- as a student in that course navigate to the people page
- click on the group set tab that has 30 groups
- notice the loading indicator
- thats it
Change-Id: I77abf9fd5f863d4ea7803eb223ba1939a49d7dd9
Reviewed-on: https://gerrit.instructure.com/149934
Tested-by: Jenkins
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
Product-Review: Aaron Kc Hsu <ahsu@instructure.com>
QA-Review: Aaron Kc Hsu <ahsu@instructure.com>
Test Plan:
* Make sure jenkins is happy
Change-Id: I7f14218556b4efd7fff7a96403ba2da87d2e3e27
Reviewed-on: https://gerrit.instructure.com/150145
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Tested-by: Ryan Shaw <ryan@instructure.com>
Fixes gh-1292
Test plan: check that collaborations still work
Change-Id: I5faf10346d7a839ecbdc4ef55f7b169e81d60e57
Reviewed-on: https://gerrit.instructure.com/150053
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Omar Khan <okhan@instructure.com>
Closes PLAT-3314
Test Plan
- Enable new developer key FFs
- Navigate to the developer keys page of an account
- Verify all scope groups are rendered in the new
scopes list component.
- Verify the filter allows filtering by scope
group name.
- Verify the "Read Only GET" checkbox causes
all scopes that use GET to be checked.
- Go crazy testing checkboxes and make sure they all work
logically (i.e. selecting the group level checkbox
checks all scopes in the group).
- Verify that each group shows a list of methods for
all selected scopes.
- Verify you can still create developer keys in root accounts
and site admin.
Change-Id: I5df402ca06740e8a1ff37c21b63d2d6d58720182
Reviewed-on: https://gerrit.instructure.com/149242
Reviewed-by: Marc Alan Phillips <mphillips@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Jesse Poulos <jpoulos@instructure.com>
Test plan:
* load the demo page
* you should not see deprecation warnings about
React.createClass going away
* everything should still work
Change-Id: I44ea2f3af62be3de68fbacdd9e826367f10dfe06
Reviewed-on: https://gerrit.instructure.com/149945
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Test plan:
* `yarn build` should output exactly the same code as before
Change-Id: Ie6fbf6a315487f164867a126d21dcb49035f283a
Reviewed-on: https://gerrit.instructure.com/149857
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Test plan:
* run `yarn dev`
* in the demo, open the browser console
* there should not be warnings about:
“Warning: Accessing PropTypes via the main React package is deprecated”
Change-Id: I8db12b82d6121a27cdae57d6a5f2bbd880468109
Reviewed-on: https://gerrit.instructure.com/149942
Tested-by: Jenkins
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
closes RECNVS-367
test plan
- enable epub exports for a course
- export the course
- verify that file downloads from the instfs domain
Change-Id: I5ffb2d75a7b203c04ea4ec01b8fdf3e65a57155a
Reviewed-on: https://gerrit.instructure.com/150064
Tested-by: Jenkins
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Michael Jasper <mjasper@instructure.com>
it may have been created with an old name, so make it consistent
Change-Id: I9354d26929914baf6b4a276c2fcebfc2aa18aee4
Reviewed-on: https://gerrit.instructure.com/150132
Reviewed-by: James Williams <jamesw@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Cody Cutrer <cody@instructure.com>
closes QUIZ-4422 QUIZ-3684, QUIZ-3688
Test Plan:
- Enable Quizzes.Next in Canvas
- Enable the Quizzes.Next Importing feature flag
- Enable Quizzes next for the course.
- Browse to Courses -> Settings -> Import Course Content
(/courses/<course_id>/content_migrations)
- For Content Types 'Common Cartridge 1.x package' and 'QTI.zip file'
- Ensure the Import to Quizzes.Next Checkbox and help are shown, and
enabled
- Check the 'Import to Quizzes.Next' checkbox. Ensure the Question
Bank combobox is disabled, and a status message shown
- Disable Quizzes next for the course.
- Browse to Courses -> Settings -> Import Course Content
(/courses/<course_id>/content_migrations)
- For Content Types 'Common Cartridge 1.x package' and 'QTI.zip file'
- Ensure the Import to Quizzes.Next Checkbox and help are shown, but
disabled
- Disable Quizzes next in Canvas
- Browse to Courses -> Settings -> Import Course Content
(/courses/<course_id>/content_migrations)
- For Content Types 'Common Cartridge 1.x package' and 'QTI.zip file'
- Ensure the Import to Quizzes.Next Checkbox and help are not shown.
- Enable Quizzes next in Canvas
- Disable the Quizzes.Next Importing feature flag
- Browse to Courses -> Settings -> Import Course Content
(/courses/<course_id>/content_migrations)
- For Content Types 'Common Cartridge 1.x package' and 'QTI.zip file'
- Ensure the Import to Quizzes.Next Checkbox and help are not shown.
Change-Id: Icd55843ced7d7f88ddb24140bdee3265e74f7d44
Reviewed-on: https://gerrit.instructure.com/149237
Tested-by: Jenkins
Reviewed-by: Jeff Belser <jbelser@instructure.com>
Reviewed-by: Han Yan <hyan@instructure.com>
Product-Review: Kevin Dougherty <jdougherty@instructure.com>
1. If Anonymous Moderated Marking is enabled, check the assignment's
anonymous grading setting to determine whether to anonymize names in
SpeedGrader, instead of always anonymizing assignments. If not enabled,
revert to checking the (old) "Anonymous Grading" course flag.
2. On the assignment edit page, make sure not to show the "Moderate" if
the assignment doesn't have moderated grading enabled (in addition to
the other conditions).
closes GRADE-1133
Test plan:
Testing SpeedGrader anonymity:
(Note that the "hide student names" setting in SpeedGrader's options
menu, if enabled, will force anonymity regardless of the assignment's
settings. If student names are showing up anonymous regardless of what
you do, make sure that setting is off.)
- Enable AMM for the root account
- Create an assignment with anonymous grading enabled and one without
- In SpeedGrader, the anonymous assignment should anonymize user names
while the non-anonymous one should not
- Disable AMM and make sure SpeedGrader anonymity is now determined
based on the course's Anonymous Grading setting (the *old* anonymous
grading setting) as it was before
Testing the Moderate link for an assignment:
("Never" and "always" in this plan mean that it should behave that way
regardless of the status of the AMM flag.)
- Create an assignment with moderated grading disabled:
- On the edit page, the "Moderate" button should never appear
- Create a moderated assignment and set the current user as final grader
- On the edit page, the "Moderate" button should always appear
- Create a moderated assignment and set a different user as final grader
- On the edit page, the "Moderate" button should appear if AMM is OFF
but be hidden if it is ON.
Change-Id: I4159dbe271cb76791aa93bb6ad07acdc333cdf53
Reviewed-on: https://gerrit.instructure.com/149863
Tested-by: Jenkins
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Jeremy Neander <jneander@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
Now that grade summary statistics are pulled from a cached database
entry rather than calculated on the fly, we don't need to cache the
object anymore.
fixes CNVS-42404
test plan:
- Confirm statistics show up on the students grade page
Change-Id: Ic83564f290a53720811a4d832c24bf3b693b0073
Reviewed-on: https://gerrit.instructure.com/150056
Reviewed-by: Adrian Packel <apackel@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Anju Reddy <areddy@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
fixes OUT-2183
fixes OUT-2187
test plan:
- create two rubrics - on one rubric, create 3 or more criteria,
with at least two criteria utlizing rubric ranges (if you do not
see option for range, you'll need to enable "Rubric Criterion
Range" feature on the account).
- on the other rubric, utlize 5 criteria with the following setup:
3 criteria with a scale of 20/15/10/5/0
2 criteria with a scale of 20/10/5
- attach the rubrics to two different assignments
- as a student, submit to the assignments
- as a teacher, provide scores on the rubrics. On the first one
with the range, ensure that the 2 (or more) range criteria have
different point totals given to them
- on the second rubric, provide a range of points (20, 15, 10, 5, 0)
- as the student, view the grades
- first visit the submission show page. Both rubrics should have their
proper areas highlighted per the scores on the criteria
- visit the student's grades page and expand the rubrics - they both
should have their proper levels highlighted there as well. All
highlights on this page should match the highlights shown on
the submission's show page
Change-Id: I902f5d80285a3c4ef9d55e5d247c4b9f596ca04a
Reviewed-on: https://gerrit.instructure.com/148640
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Tested-by: Jenkins
QA-Review: Dariusz Dzien <ddzien@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
fixes COMMS-1117
Test Plan:
- Got to the account feature options page
- go to the "Duplcating calendar events" feature
- notice that the description and name no longer say
recurring
- turn on feature
- go to http://localhost:3000/users/1/calendar_events/new
- notice at the bottom the checkbox says duplicate not repeat
- navigate with SR notice it still works
Change-Id: I3946a3b8bf0eb5fed47cfd2f29a4892a4dae4029
Reviewed-on: https://gerrit.instructure.com/149928
QA-Review: Aaron Kc Hsu <ahsu@instructure.com>
Reviewed-by: Venk Natarajan <vnatarajan@instructure.com>
Tested-by: Jenkins
Product-Review: Venk Natarajan <vnatarajan@instructure.com>
* tell user if avatar isn't properly saved after 5 seconds
closes RECNVS-421
test plan:
* (this needs to be on a cross-shard platform to work)
* enable instfs and User Avatars (in Admin > Settings)
* go to user profiles
* upload an avatar images
* verify that it goes through instfs
* and that it doesn't GET `/users/self/avatars` for more than 5 seconds
Change-Id: I5572d32a047479ff1b7e822e94c1729db7c6954c
Reviewed-on: https://gerrit.instructure.com/149618
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
* create a master dataset via sis import with a new
diffing_data_set_identifier
* import another CSV with the same identifier that deletes
the original dataset entirely and include a
change_threshold=(1-99)
* notice no changes were made because the threshold
was reached
* try to process the same file, but exclude change_threshold
* it should delete everything now
closes #CORE-1342
Change-Id: I1d51d486705a12e92d2712955b354764e77e3733
Reviewed-on: https://gerrit.instructure.com/148411
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
Tweaks the "Select Final Grader for Moderation" permission so that
it is available to account admins and account memberships, and
defaults to true for account admins.
closes GRADE-1145
Test Plan:
1. Enable Anonymous Moderated Marking at the root account level.
2. Create a moderated assignment. Go to the 'Moderate' page and
add a reviewer so there are 2 available reviewers. Add provisional
grades for 2 teachers.
3. As an account admin (not a site admin), go to the 'moderate' page
for the assignment. Verify you can select provisional grades
(by clicking the radio options) without getting an error.
4. Remove the 'Select Final Grade for Moderation' permission for
Account Admins.
5. As an account admin (not a site admin), go to the assignment show
page for the assignment created in step 2. Verify the 'Moderate'
link is hidden. Try to go to the moderate page by hard-coding
the URL (/courses/:course_id/assignments/:id/moderate) and verify
you get an unauthorized message.
Change-Id: Ie541abb23d54781db753b92cf05956bf68112e4f
Reviewed-on: https://gerrit.instructure.com/149746
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
and also make them partial
Change-Id: I0836fefb0c0ca1511621bfcd7dc9276fe7df8c35
Reviewed-on: https://gerrit.instructure.com/149976
Reviewed-by: James Williams <jamesw@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
closes ADMIN-1033
Test plan
- Ensure api/v1/planner/items and
api/v1/planner/overrides(/:id)
work as expected
- Specs pass
Change-Id: I4a1d5f8f81bb2bdd2eace8c61bc807d2f0457cdf
Reviewed-on: https://gerrit.instructure.com/149265
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Carl Kibler <ckibler@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Mysti Sadler <mysti@instructure.com>
In the planner, we were always showing tomorrow after today, but we
might not have loaded tomorrow's data yet and would show an empty
tomorrow when it wasn't really empty.
fixes ADMIN-1023
test plan:
- have 9 items on today and some items tomorrow
- load the planner with a short window
- expand the window and see "load more" without today being displayed
- load more and see tomorrow show up with its items
Change-Id: I48c2d39c3d203b1d417cb0599a2a2ddfd8f9b96e
Reviewed-on: https://gerrit.instructure.com/149776
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Jon Willesen <jonw+gerrit@instructure.com>
closes GRADE-974
Test Plan:
1. Enable Anonymous Moderated Marking at the account level.
2. Create a new assignment moderated assignment and verify there is
an input to enter the number of graders.
3. Verify the default value for the input is 2, or if the class has
<= 2 active instructors the default is 1.
4. Verify the following validations with the input:
a. Clearing out the value and then tabbing away from the input
results in an error message showing below the input.
b. Entering 0 into the input results in an error message showing
below the input.
c. You can only enter positive, whole numbers.
d. Entering a number > 10 results in a hint showing below the input.
e. Entering a number > the number of active instructors in the
course results in a hint showing below the input.
f. Trying to save the assignment when there is invalid data in the
input results in the assignment not being saved and an error
tooltip showing for the input. Note that the cases covered in
steps d and e above are not considered invalid, and therefore
the assignment should still save successfully.
5. Verify you can save the assignment when you enter a valid grader
count. Reload the page and verify the grader count has persisted.
6. Repeat steps 2-5, but update an assignment instead of creating a
new one.
7. Verify you can set the grader_count on an assignment when creating
it via the API (you must also set moderated_grading to true).
POST /api/v1/courses/:id/assignments
8. Verify you can update the grader_count on an existing moderated
assignment via the API.
PUT /api/v1/courses/:course_id/assignments/:id
9. Disable Anonymous Moderated Marking at the account level. In a
course, create or update an assignment and verify there is no
'Number of graders' input.
Change-Id: I50d52a11051c60b59b06176ddd6bf975a567ee24
Reviewed-on: https://gerrit.instructure.com/148747
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: Jenkins
QA-Review: James Butters <jbutters@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
Refs MBL-10480
Test Plan:
- Create a course with an observer linked to a student
- Create a threshold for that observer-student link in the
rails console for 'course_announcement' alert type
- As a teacher create an announcement in the course
- From the rails console see if an ObserverAlert model
was created for that observer-student link
- As a teacher create an announcement that is delayed
for just a few minutes in the future
- Once the announcement is active go to the rails console
and check that there is an ObserverAlert for that
observer-student link for that announcement (context)
Change-Id: Ia193df0135f314fd3e3f47a17d6fdd59dfb1eb00
Reviewed-on: https://gerrit.instructure.com/149718
Tested-by: Jenkins
Reviewed-by: Cameron Sutter <csutter@instructure.com>
QA-Review: Cameron Sutter <csutter@instructure.com>
Product-Review: Matthew Sessions <msessions@instructure.com>