fixes VICE-2077
this test is flaky in jest every single way
deleting this test since a lower-level,
message action mark as read test exists
Change-Id: Ie937fbd45df2579d72262b670e2875ea6b9f472c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290587
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
fixes: VICE-2620
it now passes.
Change-Id: Iaa44ae9fe82a1062cdc00677d2756cc0e650cb33
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290575
Reviewed-by: Jason Gillett <jason.gillett@instructure.com>
QA-Review: Jason Gillett <jason.gillett@instructure.com>
Product-Review: Jason Gillett <jason.gillett@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
flag = none
Closes OREO-1432
test plan:
- turn on page views
- go to admin/people and select a student
- go down to page views able, scroll to bottom and load more page views
- change language to swedish, and retry
redoing https://gerrit.instructure.com/c/canvas-lms/+/283858/
Change-Id: I867b4547df84251ebe7bb6beb7414ac1b7a6044e
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/287719
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Bryant Larsen <blarsen@instructure.com>
Reviewed-by: Thiago Vieira <thiago.vieira@instructure.com>
QA-Review: Bryant Larsen <blarsen@instructure.com>
Product-Review: Noah Rush <noah.rush@instructure.com>
This flag indicates allows LTI 1.1 tool providers to check
if an LMS supports this new extension.
closes QUIZ-9501
flag=none
Test Plan:
- Associate an LTI 1.1 tool (like Quiz LTI) to an assignment
in Canvas
- Launch the tool via the assignment and observe the post
request made for the tool launch
- Valide "ext_outcome_submission_needs_additional_review_accepted"
is sent in the post request and is set to true
Change-Id: Ife10f09af5bdef1f958ac0c6d6a55ed6e81e9e3a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290387
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
QA-Review: Alex Slaughter <aslaughter@instructure.com>
Product-Review: Alex Slaughter <aslaughter@instructure.com>
closes QUIZ-9500
flag=none
Verify the docs for prioritizeNonToolGrade now specify
adding the new element to the "submissionDetails" element
Change-Id: I30dbdad8feaa5c4fa638f12dc8c2ad3dc8d2d853
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290383
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Stephen Kacsmark <skacsmark@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
closes QUIZ-9497
flag=none
Test Plan:
- Launch an LTI 1.1 tool assocaited to an assignment (like New
Quizzes) with the browser's network inspector open
- Find the POST request that was the LTI launch
- Validate ext_outcome_submission_needs_additional_review_accepted
was sent with a value of "true"
Change-Id: I9b1691143bb4796472cf7a83634c82c02229efeb
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290240
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Stephen Kacsmark <skacsmark@instructure.com>
Reviewed-by: Jorge Arteaga <jorge.arteaga@instructure.com>
Reviewed-by: Ricardo Oliveira <ricardo.oliveira@instructure.com>
QA-Review: Jared Crystal <jcrystal@instructure.com>
Closes QUIZ-9447
flag=none
Test Plan
This one is a little wonky to test since we don't
actually have the ims_lti gem or quiz-side changes
done yet.
1. Open canvas-lms/lib/basic_lti/basic_outcomes.rb
2. Replace the body of #needs_additional_review? like
this:
```
def needs_additional_review?
return true
end
```
I promise this is the only weird thing in the we
will do in the test plan :)
With this modification in place, Canvas will treat
every grade passback as needing additional review,
which will allow us to exercise the new code.
3. Create a new quiz in a course
4. As a student take and submit the quiz
5. Wait for the quiz results to get passed back to
Canvas
6. Navigate to the gradebook as a teacher and verify
the cell for the grade indicates further review is
needed
7. Click the cell and verify it shows the partial score
sent by new quizzes
Change-Id: I1905ee8ec17c4fe644d4d0328e59be38f6d02d47
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290176
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
QA-Review: Alex Slaughter <aslaughter@instructure.com>
Product-Review: Alex Slaughter <aslaughter@instructure.com>
test plan:
- create a Setting to make an n_strand parallelizable:
Setting.set('foobar_num_strands', '2')
- queue up some jobs on that strand:
100.times { delay(n_strand: 'foobar').sleep(10) }
- go to Queued | Strand in the top nav and click the
"foobar" strand
- a gear icon should appear next to the strand box
(labeled 'Manage strand "foobar"')
- click it and a modal should appear that lets you
change the concurrency and the priority of the
strand
- queue up some jobs in a strand for which there is no
"num_strands" Setting
- select the strand as before
- the gear icon should be there, but the dialog that
appears offers no option to change the concurrency
flag=jobs_v2
closes DE-1128
Change-Id: I3abff0e52391bf01f20fd4d333ad04ae484adae6
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290137
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Fixes FOO-2478
flag=none
To improve database performance, Rails no longer allows the
Folio paginator to retrieve the total count of objects in
the collection it is paginating. Thus, it no longer knows
what the last page is, so it tries to guess by asserting
that if the query got back fewer records than the per-page
value, then this must be the last page. However that logic
fails when the last page contains exactly per-page records.
In that case the returned collection shows a next-page but
no last-page; however, trying to retrieve that next page
returns an empty collection. This confused the front-end
paginators quite a bit.
So here we modify the API helper so that if the last page
is unknown (because it wasn't allowed to do a count), then
also retrieve the NEXT page beyond the one just requested.
If that page has fewer than per-page records, then it must
be the last page, and we indicate so.
Also improved the behavior of the User and Course list
pagination UI so that it understands when the last page
has been discovered, so it can be remembered in the display.
Test plan:
* See the steps to reproduce in the ticket
* That behavior should no longer happen
* Also check out accounts/self/users and play around with
that pagination as it was also modified
* In general the pagination behavior in the user interface
should be looking and working better
Change-Id: I72ccd4b1e9e90ac6186277068864fa36886700dc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289772
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jacob Burroughs <jburroughs@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
fixes QO-716
Test plan
- Take a classic quiz with both "One question at time"
and VoiceOver enabled
- Hover or click on the "Previous"/"Next" button
- The screen reader should read
"Previous Question"/"Next Question"
- The text of the buttons themselves should
still show "Next"/"Previous
Change-Id: Idcba89be4ff52025891db4525617e376577db86a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290427
Reviewed-by: Jorge Arteaga <jorge.arteaga@instructure.com>
QA-Review: Alex Slaughter <aslaughter@instructure.com>
Product-Review: Alex Slaughter <aslaughter@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
when using the /api/v1/jobs2/manage endpoint and changing the
max_concurrent for a strand, the next_in_strand trigger in
inst-jobs will not apply the change soon, if ever. we have
a ticket to address the trigger (DE-1158) but for now we
will just manually set next_in_strand to scale up the
parallelism when desired.
test plan:
- create a Setting to make an n_strand parallelizable:
Setting.set('foobar_num_strands', '2')
- start up multiple job workers so you can run jobs concurrently
(i.e., `script/delayed_job run` in five terminal tabs)
- queue up some jobs on that strand:
100.times { delay(n_strand: 'foobar').sleep(10) }
- go to /jobs_v2 and notice two jobs are picked up and run
- use the API endpoint to increase max_concurrent for
the strand to 5, e.g.
PUT /api/v1/jobs2/manage?strand=foobar&max_concurrent=5
- within a few seconds, more jobs in the strand should
start running, bringing the total up to 5
flag=jobs_v2
refs DE-1128
Change-Id: I719434c712ea7e668cd63cf83e96a0cd993d0fb5
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290476
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
refs QUIZ-9495
flag=none
This change allows referencing a Model's workflow_state
values an an enum-like way.
For example, let's pretend I want to conditinally set the
workflow_state in a Submission based on some condition.
In the current version of Canvas, I would write:
```
workflow_state = "graded" if something_is_true?
```
With the new code, I can instead write
```
workflow_state =
Submission.workflow_states.graded if something_is_true?
```
While the syntax is longer, we can avoid mistyping the
desired workflow_state string. Additionally, we can
begin to DRY up references to workflow_state values
Test Plan
- Pick an ActiveRecord model (like Submission)
- Call the new .workflow_states class method
- Validate each valid workflow_state for the chosen
model is represented in the returned OpenStruct
Change-Id: Ieeabcbb9956808a963f1c4a5e0c67d1082a36015
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290181
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Stephen Kacsmark <skacsmark@instructure.com>
QA-Review: Jared Crystal <jcrystal@instructure.com>
Reviewed-by: Ricardo Oliveira <ricardo.oliveira@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
Closes QUIZ-9240
flag=none
When points_possible for an Assignment was nil, grade
passback would respond with a 422.
We now attempt to set the nil points_possible to 0, if
the grading_type indicates it's appropriate.
This grade passback requests that previously failed
to now succeed and be treated exactly as if the points_possible
was 0
Test Plan:
- Create five New Quizzes quizzes, one for
each of the following Assignment "Display Grade As"
types:
* Points
* Complete / Incomplete
* Letter Grade
* GPA Scale
* Percentage
- In a Canvas Rails console, set the points_possible
on each assignment to nil:
`Assignment.last(5).each {|a| a.update!(points_possible: nil)}`
- For each Assignment
* Take the associated new quiz
* Wait for new quizzes to pass back a grade to Canvas
* Validate an entry is created in the Gradebook for
the Assignment. This entry will display as a zero value
(0 or 0%). The exception is the complete /incomplete
Assignment. This should be "complete" if the score > 0,
"incomplete" otherwise
Change-Id: Ieface61823dcb80ac75a73128fe99ea4b8b6b445
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290145
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Stephen Kacsmark <skacsmark@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
Reviewed-by: Ricardo Oliveira <ricardo.oliveira@instructure.com>
Product-Review: Stephen Kacsmark <skacsmark@instructure.com>
QA-Review: Alex Slaughter <aslaughter@instructure.com>
refs INTEROP-7418
refs INTEROP-7416
flag=lti_assignment_page_line_items
Test plan
- Create an assignment with the LTI 1.3 test tool
- Notice that the lack of feature flag prevents
the line item saving and reloading/saving of the
assignment page
- Do the same as above while editing an existing
assignment
- Turning on the feature flag should enable the
previous (buggy) behaviors
Change-Id: I91237456a5171e80057ada86043a7b12107d7975
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290431
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Evan Battaglia <ebattaglia@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
QA-Review: Evan Battaglia <ebattaglia@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
refs QUIZ-9359
flag=none
Test Plan:
- specs pass
- Create a course. Don't add any assignments
- Mark the course as a blueprint.
- from the SQS logs in Quiz LTI, observe that a live event
named "blueprint_subscription_created" is received with
the correct payload
Change-Id: Ic0afdab19efe18a2ae921d4bf7b3c23b46fbbd2c
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289557
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Dustin Cowles <dustin.cowles@instructure.com>
Reviewed-by: Jorge Arteaga <jorge.arteaga@instructure.com>
QA-Review: Dustin Cowles <dustin.cowles@instructure.com>
Product-Review: James Logan <james.logan@instructure.com>
fixes VICE-2758
Test Plan
1. Smoke test all of discussions post
2. Should see no visual regressions
3. Should see no application regressions
4. Should see no performance regressions
Change-Id: I58e93a7c3693249321740d71ddb2ab7f0a5149d0
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290434
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
This PS blocks the possibility of selecting courses with course paces
enabled, students and observers can still see the events and select
and deselect the courses
closes: LS-3110
flag= none
Test plan:
- Enable course paces in a couple of courses.
Log in as a teacher:
- Go to the calendar and expect to see disabled the courses with
course pacing enabled
- Check the network and confirm the disabled courses are not included
in the calendar events request
Log in as a student or observer:
-Go to the calendar and expect everything to work as usual.
Change-Id: Ibd5d9a2ec01c7bc6f773d291dcafaad7a9482376
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290429
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Ed Schiebel <eschiebel@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>
fixes MAT-837
flag=buttons_and_icons_root_account
test plan:
- Navigate to RCE intance
- Open Icon Maker
- Scroll to Image Section
- Select Single Color/MultiColor/Course option
> Verify that pane scroll to show the respective images
Change-Id: I91ddf18e3c77abeba7832825cf387c9b4382fc85
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290101
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Joe Hernandez <joe.hernandez@instructure.com>
QA-Review: Joe Hernandez <joe.hernandez@instructure.com>
Product-Review: Juan Chavez <juan.chavez@instructure.com>
The function that skipped weekends and blackout dates did not
take into account that the start date may fall on a blackout date
and have a 0-day duration. This fixes that.
In the process I also discovered that Time.use_zone doesn't work
as I thought, so I had to convert the pace start date to
the course zone before returning
closes LS-3138
flag=course_paces
flag=course_paces_blackout_dates
test plan:
- in a course with paces on, but no pace created yet
(or delete the pace from the db)
- set the course start date
- create a couple assignments in modules
- visit the course pacing page
> expect to see your assignments with 0 days durations
> expect all the due dates to be the course start date
- add a blackout date on the course start date
> expect the due dates to move down
- repeat the exercise, but have the course start
on a weekend
- ensure weekends are being excluded
> expect the first assignment to be due on Monday
Change-Id: I97010e2b5c1a50f994b825df5b20b5e9cf6b92d9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290242
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
(even though they kind of are)
because we don't have student paces in the db yet
the api always returns an unsaved pace with no id
for students but we need to query for the pace
it for the start_date to show the user's
assignment due dates in their pace. So if it's a
student pace, it is never considered as "new" in the UI
closes LS-3141
flag=course_paces
test plan:
- in a course's pacing page
- use the seletor to choose a student
> expect not to see "new pace" alert at the top of the page
- IF LS-3146 is merged, you can:
> expect the student's pace to be based off their enrollment
date (which you'll have to set in the db from the console
or the enrollmetn api)
Change-Id: I30e43651ef16d27ad770c1bd714abb3fbf03ceff
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290424
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Luis Oliveira <luis.oliveira@instructure.com>
QA-Review: Luis Oliveira <luis.oliveira@instructure.com>
Product-Review: Ed Schiebel <eschiebel@instructure.com>
fixes EVAL-2062
flag=message_observers_of_students_who
test plan:
1-)enable the FF "Message Observers of Students
Who..."
2-)have a published course.
3-)have a course with a teacher and at least 5 students
4-)enroll some observers to be observing some of the
students.
5-)go to the gradebook, click on the assignment column
header and select the "Message Students Who" option
to open the modal.
6-)ensure all students are selected by default.
7-)ensure the students checkbox is checked by default.
8-)ensure every observer is not selected by default.
9-)ensure the observers checkbox is not checked by
default.
10-)click on one of the students pill and ensure
the icon changes from a "X" icon to an "PLUS" icon
and the students checkbox state is indeterminate.
11-)click again on the same student pill and ensure
the icon changes from an "X" icon to a "PLUS" icon
and the checkbox state is checked.
12-)click on every student pill to deselect all the
students and ensure the checkbox is not checked.
13-)click on every student pill again to select all
the students and ensure the checkbox is not checked.
14-)repeat steps 10..13 using observers instead of
students.
Change-Id: I1bf244f9185e7385e9ff1483cfe56c176c1993cc
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288766
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Syed Hussain <shussain@instructure.com>
Product-Review: Jody Sailor
fixes VICE-2616
it looks like these specs never worked from
the beginning. luckily, there are a lot
of create / edit discussion specs that exist
in selenium
it should be safe to just remove these
Change-Id: I0ec964d322c0a4137b33b57c63f29b53146dd95a
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290386
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Reviewed-by: Omar Soto-Fortuño <omar.soto@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
Product-Review: Omar Soto-Fortuño <omar.soto@instructure.com>
flag=react_discussions_post
closes VICE-2454
Test Plan:
- Test pass
- As a teacher create a discussion with
limited sections and publish it.
- Visit it as teacher, you should see all
the sections available.
- Visit it as student, you shouldn't see all
the sections, only yours.
Change-Id: I1089b471eba20d4e2e55a3bfe6481a8c8bc53c10
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290400
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Drake Harper <drake.harper@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Drake Harper <drake.harper@instructure.com>
QA-Review: Chawn Neal <chawn.neal@instructure.com>
Fixes FOO-2806
flag=none
The "Default Email" field in a user profile page was styled
such that the table cell containing the email address would
not wrap; when the screen size is very narrow that forced the
browser into two-dimensional scrolling which is counter to
WCAG responsive guidelines.
The solution is to force `word-break: break-all` on that field
which does make the email address wrap in some ugly ways but
at least it will fit horizontally. It's still selectable as a
single entity so is useable.
Test plan:
* Be on the main branch
* See the steps to reproduce in the ticket
* Have a user with a default email address like
incrediblylongcannotbelieveitemail@incrediblylongdomain.edu
* Set your browser to be responsive at 320px width (iPhone 5)
* Notice the horizontal scrolling
* Switch to this commit
* It should now wrap that email address however it needs to
in order to avoid the horizontal scrolling
Change-Id: I5c2df74756f3b937cf3dc24973904ab4f6cfbea2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290350
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Sean Scally <sean.scally@instructure.com>
QA-Review: Charley Kline <ckline@instructure.com>
Product-Review: Charley Kline <ckline@instructure.com>
flag = none
closes QUIZ-9498
test plan:
- create a master (blueprint) course with assignments
- open a terminal in quiz_lti where you can inspect
sqs logs
- associate the master course to a child course and
wait for the synchronization to finish
- from your quiz_lti terminal, observe the
assignment_created event(s)
- the event should have a created_on_blueprint_sync field
set as "true"
- create assignments manually in blueprint courses
and non-blueprint courses
- observe that this time created_on_blueprint_sync is
set as "false"
Change-Id: I9eac41669f26f070c9c5325da251479a6a4b5751
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290195
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Jorge Arteaga <jorge.arteaga@instructure.com>
test plan:
- PUT /api/v1/jobs2/manage?strand=X&priority=Y&max_concurrent=Z
should update the priority and max_concurrent for all
queued jobs in strand X
- the endpoint requires manage_jobs permission
flag=jobs_v2
refs DE-1128
Change-Id: I7134b9fa84310b6e64f95e77ca42d7fa282a90f9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290136
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
why:
The documentation for the window.postMessage in LTI tools for
the 'lti.fetchWindowSize' message is outdated
refs INTEROP-7199
flag=none
--------------------------------------------------
Test plan
--------------------------------------------------
* launch the LTI 1.3 Test Tool from any placement
* open the Browser Developer Tools (F12)
* in the "Send a window.postMessage" section, use the JSON:
`{ "subject": "lti.fetchWindowSize" }`
* after sending, check the Console tab of the Browser Developer
Tools
* it should have the Object below with the message sent to Canvas
```
{
"messageSent": {
"message": {
"subject": "lti.fetchWindowSize"
},
"targetOrigin": "*"
}
}
```
* it should have an Object like the one below with the message
received from Canvas
```
{
"messageReceived": {
"data": {
"subject": "lti.fetchWindowSize.response",
"height": 531,
"width": 657,
"offset": {
"top": 79.20000457763672,
"left": 24
},
"footer": 0,
"scrollY": 79.33333587646484
},
"origin": "http://canvas.docker"
}
}
```
Change-Id: I96183787c3ebc01c4757334a0dd38e0641c6c0e9
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290234
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
Reviewed-by: Alexandre Trindade <alexandre.trindade@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
QA-Review: Alexandre Trindade <alexandre.trindade@instructure.com>
why:
The 'Submit an assignment' API documentation lists
'basic_lti_launch' as an allowed value for the
'submission[submission_type]' parameter, but the code only
accepts it when the assignment submission_type is "online" or
"external_tool"
refs INTEROP-5201
flag=none
Change-Id: If6043242b03386ae197ec6ed256ccc20ac2ef36f
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289958
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Tucker Mcknight <tmcknight@instructure.com>
Reviewed-by: Alexandre Trindade <alexandre.trindade@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
QA-Review: Alexandre Trindade <alexandre.trindade@instructure.com>
This will allow a setting to be marked as "secret", and its value
redacted in the forthcoming Settings UI.
closes DE-1138
flag=none
test plan:
- add a setting like normal
- retrieve it via ActiveRecord and confirm `secret` is false
- confirm creating new settings with the `secret` parameter set to true
sets secret to true
- confirm changing `secret` value using `Setting.set` works
Change-Id: I6741a582e429cc15860eb4152606fc9145127e4d
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289834
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
Reviewed-by: Aaron Ogata <aogata@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
In a subsequent commit, this will allow a setting to be marked as
"secret", and its value redacted in the forthcoming Settings UI.
refs DE-1138
flag=none
test plan:
- verify the column is added, and `setting=` is successful
Change-Id: I0dfad0ea584e199828ff04fabe91964069d3e676
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/289857
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Migration-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
QA-Review: Isaac Moore <isaac.moore@instructure.com>
Product-Review: Isaac Moore <isaac.moore@instructure.com>
remove accidental .only so the full test
suite is run
test plan:
-specs pass
Change-Id: Id1f61d200856ccda691947610a9ba0382a967751
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290279
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Jake Oeding <jake.oeding@instructure.com>
Reviewed-by: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
QA-Review: Gonzalo Penaranda <gonzalo.penaranda@instructure.com>
why
When a student resubmits to a New Quiz, two submission
notifications will be sent:
- One is the regular “Assignment Submitted” notification
- the other is an “Assignment Resubmitted” notification
Instead it should only send the appropriate “Assignment
Resubmitted” notification, rather than resend the “Assignment
Submitted” notification as well
refs INTEROP-7319
flag=none
--------------------------------------------------
Test plan
--------------------------------------------------
- create a new assignment using New Quizzes that allows multiple
submission attempts
- launch the New Quizzes, in the Settings tab turn on the "Allow
multiple attempts" option
- as a student, take the New Quiz once, then take it again as a
resubmission
- the instructor won't receive two submission notifications for
the resubmission
Change-Id: I568d265699af679d542260dda8c0b897689bd6a2
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/288274
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Product-Review: Alexis Nast <alexis.nast@instructure.com>
QA-Review: Mark McDermott <mmcdermott@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
Reviewed-by: Alex Slaughter <aslaughter@instructure.com>
closes VICE-2711
flag=react_inbox
Test Plan
1. Open the compose modal
2. Verify that inputs match the AC screenshot
Change-Id: I0400e9be7fcd93e73a950582344fa55edc185b25
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290274
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Chawn Neal <chawn.neal@instructure.com>
Product-Review: Chawn Neal <chawn.neal@instructure.com>
QA-Review: Drake Harper <drake.harper@instructure.com>
fixes LS-3127
flag=course_paces
When disabling a MenuItem, the implementation slightly changes where we
are no longer providing the disabled tag, but rather setting that via
aria-disabled. In order to appropriately test this, our assertions were
updated as suggested in https://github.com/testing-library/jest-dom/issues/144
test plan:
- enable course_paces and course_paces_blackout_dates flags
- create a course and navigate to /courses/:id/course_pacing
- click on the settings cog
- clicking skip weekends should continue to mark the new checkbox
as appropriate and update the setting
- clicking manage blackout dates should close the menu and open the
modal still
qa risk: low
Change-Id: Ib37852849c8754853a81dcb956e3b283a3df5b05
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290156
Product-Review: David Lyons <lyons@instructure.com>
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Robin Kuss <rkuss@instructure.com>
QA-Review: Robin Kuss <rkuss@instructure.com>
so users know about unpublished changes etc.
closes: LS-3099
flag=course_paces
test plan:
- create a new course and turn on course pacing in settings
(alternatively, from a rails console, you can
Course.find(:id).course_paces.destroy_all)
- visit the course pacing page
> expect an info alert message at the top saying the pace is unpublished
> expect the cancel button to have a tooltip saying there are no
unpublished changes
> expect the publish button not to have a tooltip
- dismiss the info alert
- make changes
> expect the alert not to come back
> expect to see "X unpublished changes"
> expect no tooltips on the cancel or publish button
- cancel
> expect all the chnages to revert
- with changes or not, click publish
> expect a saved pace
Change-Id: I4f955a34df5c75a7694aacc585a7f1863c6acacf
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/290091
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Jackson Howe <jackson.howe@instructure.com>
QA-Review: Jackson Howe <jackson.howe@instructure.com>
Product-Review: David Lyons <lyons@instructure.com>