Fixes CNVS-18016
Test plan:
- create a question bank
- create a quiz with a question group and associate it with the
question bank
- take the quiz, see your questions
- change the questions in the question bank
- take the quiz, see your changes
Change-Id: I2fd65eb1a5daaba3bda1a96ee6dcb2f2b54b2533
Reviewed-on: https://gerrit.instructure.com/48596
Tested-by: Jenkins
Reviewed-by: Ryan Taylor <rtaylor@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes CNVS-18470
Tabing was going right to left instead of left to right on buttons in
the External Apps tab. This fixes that.
Test Plan
Given you have the External Tools plugin enabled
And you're only using your keyboard to navigate
When you go to a course settings
And you select the External Tools tab
And you tab through the buttons
Then the first focused button should be "Add App"
And the second focused button should be "View App Center"
Change-Id: I8d25a24d9e4aefd2c7b759b5c1479ddbf8e419a7
Reviewed-on: https://gerrit.instructure.com/48803
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Tested-by: Jenkins
Product-Review: Sterling Cobb <sterling@instructure.com>
test plan:
* create a group discussion
* set the "available from" date in the future
* visit the discussion as a student in the group
* should not be able to reply
* also should not be able to edit own replies as
a student if the topic is locked
* general regression testing on discussion topics,
specifically locking/unlocking and closing for comments
closes #CNVS-18320
Change-Id: Ib617df7e10f18978f7e0cc4912647de0eefb581f
Reviewed-on: https://gerrit.instructure.com/48396
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CNVS-18750
This commit fixes the ability for teachers to navigate back to previously
graded submissions in SpeedGrader.
Test plan
- As a teacher, create an assignment
- As a student, submit a submission for the assignment
- As another student submit another submission for the assignment
In Safari 7 and Internet Explorer:
- As a teacher, go to a student submission in SpeedGrader
- Go to the next student submission
- Grade the submission
- Try to use the back arrow to go to the previous submission
- You should navigate back to the previous submission
Change-Id: Icc7dfe4ce4d4ca44771a90ab9668d2147fc46a3a
Reviewed-on: https://gerrit.instructure.com/49215
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins
QA-Review: Matt Fairbourn <mfairbourn@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
fixes CNVS-18749
When a submission's grade isn't a number, it won't prepopulate in
the grade input in SpeedGrader.
Test plan
- As a teacher, create an assignment of grading type Complete/Incomplete
- Create a submission for the assignment
- In SpeedGrader, grade the assignment.
- Once you grade the assignment, the select box should be correctly populated
every time you go back to that assignment in SpeedGrader
Change-Id: I1119c0ab8b1d2042b2c2a937b84b011e7a4cbb10
Reviewed-on: https://gerrit.instructure.com/49214
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Derek Hansen <dhansen@instructure.com>
Tested-by: Jenkins
Product-Review: Josh Simpson <jsimpson@instructure.com>
fixes CNVS-18747
If a grading type that's non-numeric is chosen for an assignment
(e.g, Letter Grade), a NaN string appears in the grade input box
of SpeedGrader, because rounding doesn't take into account strings.
This commit fixes the problem.
Test plan
- Create an assignment in a course with students, with points
- Add a grading type of 'Letter Grade'
- Grade a student in SpeedGrader for that assignment
- No 'NaN' text should appear in the input, and the student's score
should update successfully.
Change-Id: Ie0adf771fb0a2d2fb44e9bbd57064c34790da042
Reviewed-on: https://gerrit.instructure.com/49213
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Derek Hansen <dhansen@instructure.com>
Tested-by: Rob Orton <rob@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>
s/IMS_CC_FILEBASE/IMS-CC-FILEBASE/ as is expected in the
common cartridge specification.
The import side should still support both styles, of course.
Test Plan:
* Create links to files in wiki pages and other html content
* the exported cartridge should have IMS-CC-FILEBASE as the variable
* course copy and export/import correctly
* importing a standard CC from IMS should work
Change-Id: If36c9456b2d30b455bcff7ed79f8c13c1b2d7ffe
Reviewed-on: https://gerrit.instructure.com/48809
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
To fix this ticket we need to add some type of conditional
so the label and the aria-label change text based on whether the
answer being provided is a Correct answer or a Possible answer
Change-Id: Iaadca9e6ad136cb43b2a9699aeabd4f89cd764cf
refs: CNVS-18299
Reviewed-on: https://gerrit.instructure.com/48976
Tested-by: Jenkins
Reviewed-by: Brian Finney <bfinney@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Cameron Sutter <csutter@instructure.com>
fixes PLAT-902
test-plan:
the file variable expansions should work from the module item file menu launch
Change-Id: I65b72e35bc6b2140877a6e39e96d5bf5e89fbc0c
Reviewed-on: https://gerrit.instructure.com/49090
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
closes CNVS-18718
test plan:
1. create a brand new course without any grading periods
2. enable multiple grading periods
3. go to the gradebook. it should load fine without any errors
Change-Id: I90d212f0a265bb5d468125fd3c6b8ef4f46bfbd9
Reviewed-on: https://gerrit.instructure.com/49155
Tested-by: Jenkins
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Spencer Olson <solson@instructure.com>
Fixes PLAT-849
test plan:
- Go to app center
- Make api call fail while making component refresh. Use the following steps to reach desired result.
- Open dialog to add app
- Close local server
- Click submit button (after entering valid or non valid text, doesn’t matter)
- Make sure you don’t get spammed with a bunch of errors in console or in canvas.
Change-Id: Id4e5108f58ae7496e1dc5d25d0259137704e64a0
Reviewed-on: https://gerrit.instructure.com/48945
Tested-by: Jenkins
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Brad Humphrey <brad@instructure.com>
Google Drive will show and hide based on the google docs account setting
fixes: PLAT-911
Test plan:
- google drive checkbox doesn't show up in account settings
- when google drive plugin is enabled, and google doc account setting is set. google drive shows up in the user service area
- make sure google docs, and google drive user services enable and disable properly
Change-Id: Ida49bc6d6f073af5d29ef5a0443e32da59851be5
Reviewed-on: https://gerrit.instructure.com/49003
Tested-by: Jenkins
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
fixes CNVS-18219
test plan:
- go to the discussion index page, click '+ Discussion'
- fill out title, message
- leave 'graded' unchecked
- click 'group discussion' and choose 'new group category'
- close the dialog without create new groups, so that the selector still
says '[ New Group Category ]'
- hit save
- you should see a validation error specifying that you must choose
a group category
Change-Id: I7a91f6613115c691c588af6cff4958b496d695b4
Reviewed-on: https://gerrit.instructure.com/48968
Tested-by: Jenkins
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
fixes: PLAT-917
test_plan:
try to do a submission with google docs user service enabled, but no google drive user service. It should force you to get a google drive token
Change-Id: I80185077e8f4a66225e96fa5fd8ed8e7fe1243ea
Reviewed-on: https://gerrit.instructure.com/49070
Tested-by: Jenkins
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
test plan:
* create a course with two modules, both with
completion requirements
* publish the course
* as a student to the course, both modules should
appear unlocked
* as a teacher, add the first module as a prerequisite
for the second
* should receive a dialog warning with a choice to
relock the module or not
* if relocked, the student should not have access to
the second module anymore
* if not relocked, the student's progression should not
be affected
* the warning should also occur when publishing a
module that is already a prerequisite for an active module
* also when adding a completion requirement to an active module
closes #CNVS-12647
Change-Id: I8739cc90448f2be0f5256a0f23b95f0657b5ad0a
Reviewed-on: https://gerrit.instructure.com/48999
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
test plan:
1. responses for the List Files, Show File, Create File,
and Copy File API endpoints should include a url with verifier
when using token auth
2. file download links in New Files UI should not have verifier links
(a) for files that existed when the page was loaded
(b) for files uploaded after the page was loaded
(c) for files moved after the page was loaded
3. a file attached to a message from a teacher to a student
should be downloadable by the student via the Canvas UI
fixes CNVS-18660
Change-Id: I05c4dac9bc09420eab9ead5b80a0997d4051dd7e
Reviewed-on: https://gerrit.instructure.com/48997
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
This patch handles a couple of things:
- `require` calls should not be used at the start of test files,
but they were. This switches them to `define`.
- There were a handful of tests that were not fulfilling initialized
promises, which led to the test suite hanging.
- There was a failure that popped up sometimes because `helpDialog`
was not cleaning up after itself. This adds a protection to
make sure that the instance is initialized before it is used.
Change-Id: Ie57f5ee6d45216f0d4071d34cc476201c3b7c9f6
Reviewed-on: https://gerrit.instructure.com/48447
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
refs CAT-861
Test Plan
1. With an admin user, submit a POST request to the canvas api
to create a new user with the [:force_validations]
parameter set to true and with invalid data set for the
[:user][:name] and [:pseudonym][:unique_id] and [:user][:terms_of_use] parameters
2. Ensure that the json payload returned contains errors as expected
for the invalid parameters
3. Submit the request again without the [:force_validations]
parameter and with the same invalid data, and ensure that errors
are not returned for [:name], [:terms_of_use] or [:unique_id]
Change-Id: I07d8ce719ecbb43af93c50fafa1b1b12f74c535f
Reviewed-on: https://gerrit.instructure.com/48426
Tested-by: Jenkins
Reviewed-by: Dave Donahue <ddonahue@instructure.com>
Product-Review: Adam Phillipps <adam@instructure.com>
QA-Review: Adam Phillipps <adam@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
Adds a React view to handle deletion of alignments from
outcomes/show view (this js had been removed ages ago).
Cleaned up LearningOutcome#remove_alignment. Added
an AlignmentsHelper with some view helper methods
to clean up the outcome_alignment partial.
fixes CNVS-15610
test plan:
- Create alignments for an outcome via the Magic Marker app.
- View outcome and its alignments at /courses/:cource_id/outcomes/:id.
- Click the red 'x' button.
- Press yes on the js confirmation box that pops up.
- The alignment line item will be removed.
Change-Id: I8cbf88dc8e8dc074e7b603f8082192a1942c7866
Reviewed-on: https://gerrit.instructure.com/47430
Reviewed-by: Mike Nomitch <mnomitch@instructure.com>
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
- There is no longer a keyboard trap when trying to shift+tab away
from the select usage rights box.
- Converts from using jQuery UI Dialog to react-modal
- If Creative Commons is the usage right associated with a file,
when the modal opens that usage right will now be selected by
default.
fixes CNVS-18381
refs CNVS-17217
Test Plan:
- Enable Usage Rights
- Make sure you can open the usage rights dialog by way of the
usage rights icons, the cog menu, and the toolbar at the top.
This is to make sure the conversion to react-modal is successful.
Essentially do a regression on the usage rights feature.
- Using keyboard only navigation, make sure you can successfully
navigate around the Manage Usage Rights dialog.
- Set a usage right to Creative Commons, then reopen the dialog
the dialog should show that as the default item in the Creative Commons
dropdown.
Change-Id: Ibfb44ab7a4e3bcea8b03630ca8d133d0747824bd
Reviewed-on: https://gerrit.instructure.com/48410
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
fixes CNVS-12852
Test plan:
* As a teacher, create some announcements and navigate to the
announcements list view for a course
* Ensure that using the keyboard, you can navigate to the cog on each
announcement and open the submenu of the cog using enter/spacebar
* Ensure that when you toggle the Open to comments/Close for comments
option of the menu that a lock appears/disappears on the announcement,
that the submenu closes, and that the focus is returned to the cog
* Ensure that when you delete an announcement from the cog menu that
focus is returned to the cog of the announcement above the
announcement that was deleted
* Ensure that when there are multiple announcements but only one is
displayed in the list due to the filter being used that when that
announcement is deleted focus is returned to the filter search field
* Ensure that when the first announcement in the list is deleted that
focus is put to the filter search field
* Ensure that when a screen reader is used and the cog receives focus
that an announcement is made that the button is for managing the
announcement
* Ensure that the cog menu does not show up when logged in as a student
Change-Id: Ia6171e895fb5a5ba6942c7243066fe3c85afb28f
Reviewed-on: https://gerrit.instructure.com/47649
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
QA-Review: Derek Hansen <dhansen@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
fixes CNVS-17273
test plan:
- create and publish an assignment that
is submittable
- as a test student submit an assignment
- as the teacher try to unpublish the assignment
- you cant
- reset the test student
- try to unpublish the assignment
- you can
Change-Id: I9e1b570e09a1d24e426b33d7d91dd3165cf3535c
Reviewed-on: https://gerrit.instructure.com/49064
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
fixes CNVS-5548
test plan:
- go to course settings and disallow students
from editing discussion posts
- make a graded group discussion
- as a student, go to this discussion and reply to it
- from the groups url you cannot edit your post
(/groups/:group_id/discussion_topics/:disc_id)
- as a student
- make a new discussion from the group page
- you cannot edit your replies on this
- teachers can edit as usual
Change-Id: I26b12a283d6e12879e170a598c97b9e25c5e597d
Reviewed-on: https://gerrit.instructure.com/49019
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Caleb Guanzon <cguanzon@instructure.com>
Product-Review: Hilary Scharton <hilary@instructure.com>
turns out, according to the mozilla spec, some browsers will fall back
to the text of an option if the value is not specified. so just to be
clear, we'll explicitly specify 'none' as our submission type for
assignment quick add
fixes CNVS-16548
test plan:
- in IE10, go to the assignment index page
- if an assignment group doesn't already exist, create one
- click the '+' icon to add an assignment to that group
- leave type specified as "Assignment"
- hit save
- it should work
- also make sure other types still work
Change-Id: I06b810a4824535066962c2f915f6edd4c1ea9f56
Reviewed-on: https://gerrit.instructure.com/48838
Tested-by: Jenkins
Reviewed-by: Benjamin Porter <bporter@instructure.com>
QA-Review: Adam Stone <astone@instructure.com>
Product-Review: Simon Williams <simon@instructure.com>
refs CAT-884
Test plan:
1. Change the settings on a given root account to have
a custom e-mail logo:
a = Account.find(1)
a.settings[:email_logo] = "http://some-cool-logo.jpg"
a.save
2. Trigger an e-mail alert on an event on that account
(for instance, adding a new account admin - but it's
worth testing several different e-mail alerts).
3. Ensure the custom logo displays instead of the Canvas
logo.
4. Ensure that when a custom e-mail logo is not configured,
the Canvas logo is rendered.
Change-Id: I37c29308dfb5404e94507c2d35872cf8609040b2
Reviewed-on: https://gerrit.instructure.com/48983
Tested-by: Jenkins
Reviewed-by: Ethan Gunderson <egunderson@instructure.com>
Reviewed-by: Jeff Belser <jbelser@instructure.com>
Product-Review: Jeff Belser <jbelser@instructure.com>
Tested-by: Jeff Belser <jbelser@instructure.com>
QA-Review: Derek Hansen <dhansen@instructure.com>
refs: CNVS-17332
refs: CNVS-18517
fixes: CNVS-18520
This starts consolidating our wild west of hex codes and brings in
our variable color palette.
Test Plan
=========
- All CSS should compile successfully
To save time on testing all the places where very, very similar
color replacements would be switched, here is a list of the
previous colors and the colors that are replacing them:
- Replacing $highlight-color variable
http://cl.ly/image/30081l2r0x3H
- Replacing $hover-color variable
http://cl.ly/image/2A3x1M1j2S1I
- Replacing $masquerade variable
http://cl.ly/image/051w2j2P2f1M
This one is slightly darker. On high contrast mode, to meet our ratio
with a dark background, it switches to white
Change-Id: Iae029364243e52cede181b0528ce45fc54e1c02d
Reviewed-on: https://gerrit.instructure.com/48891
Reviewed-by: Chris Hart <chart@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Tested-by: Jenkins
Fixes: CNVS-18453
Updates jQueryUI theme styles to accommodate new
white modal header background color:
Updated styles: http://cl.ly/image/3j2U0r2r2l1z
Test plan:
- Create an assignment and don't assign it to
everybody
- Make sure the modal's header is now written in
red and readable
Change-Id: Ib0e4fafd0a01ec43d2de3c0f8180c1c5cea7314c
Reviewed-on: https://gerrit.instructure.com/49001
Reviewed-by: Colleen Palmer <colleen@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
Tested-by: Jenkins
QA-Review: Nathan Rogowski <nathan@instructure.com>
on "Cogs"
fixes: CNVS-18169
Test Plan:
- Go to /styleguide
- Click on "Cogs" under Components; it should now scroll to the
correct place
Change-Id: If1f104fb84934a489a6df6783ccda85eeb1715e7
Reviewed-on: https://gerrit.instructure.com/48675
Tested-by: Jenkins
Reviewed-by: Chris Hart <chart@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Colleen Palmer <colleen@instructure.com>
fixes: CNVS-18517
refs: CNVS-17332
This creates consistency in our naming schema on variables.
- base- and can- variables now have the prefix ic-
- where these variables were being used in our stylesheets has been
updated with the new name
- note: content doesn't change with this. just variable names.
Test Plan:
- CSS should compile successfully
- Front-end facing content doesn't change
Change-Id: Ie3f169be27b9cd4c4158ec467de7bec0cb2de680
Reviewed-on: https://gerrit.instructure.com/48757
Reviewed-by: Chris Hart <chart@instructure.com>
Tested-by: Jenkins
Product-Review: Colleen Palmer <colleen@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
PLAT-818
test-plan:
install multiple tools with the same launch urls.
create assignments for each tool
attempt to do grade passback with the tools
they all should pass back a grade
Change-Id: I4a01b45eb2f1f1b0ed25ecc397ec4e978abc4a4e
Reviewed-on: https://gerrit.instructure.com/48913
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
test plan:
* create a course with three course sections
* edit one of the sections by giving it an
end date in the future, and setting
"Users can only participate... between these dates"
* add a user to the course in one of the
unedited sections
* conclude the course
* go to the course people page to edit the
sections for the user
* should be able to add them to the still
active edited section (but not the other
unedited section)
closes #CNVS-12209
Change-Id: I7ee81a2400467aa91dcad10bd8e0efd4ac2635f3
Reviewed-on: https://gerrit.instructure.com/49041
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
Product-Review: Cosme Salazar <cosme@instructure.com>
fixes CNVS-18574
- uses icon-import instead of icon-gradebook-import.
- uses icon-export instead of icon-gradebook-export.
Test Plan:
1. Verify that the gradebook toolbar has the import and export buttons
with rightward pointing arrows going into and out of a box.
Change-Id: I4cbea981c928a5e1efdb33b1e91d84a1d9fb9d26
Reviewed-on: https://gerrit.instructure.com/49076
Tested-by: Jenkins
Reviewed-by: Josh Simpson <jsimpson@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Matt Fairbourn <mfairbourn@instructure.com>
(also allow it to be published if it got in that state earlier)
test plan:
* create an unpublished course
* enroll a student
* add and publish an assignment
* visit the gradebook
* should not be able to enter a grade before
the course has begun
closes #CNVS-18454
Change-Id: I9a3f894ad6bf130d359de5c4717cba9bee6704b3
Reviewed-on: https://gerrit.instructure.com/49047
Tested-by: Jenkins
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Jahnavi Yetukuri <jyetukuri@instructure.com>
fixes PLAT-914
test-plan:
If you paste new json in the drive plugin it should update the settings
Change-Id: I81c71f60099b95e10e58968d9c0a0cb178c1d2ea
Reviewed-on: https://gerrit.instructure.com/49012
Tested-by: Jenkins
Reviewed-by: Brad Humphrey <brad@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Nathan Mills <nathanm@instructure.com>
Canvas tries to combine LTI links imported via CC into a single
external tool configuration, that failed when there were vendor
extensions in the config.
Test Plan:
* Import the packaged referenced in the ticket
* there should only be a single external tool config
closes PLAT-919
Change-Id: I29d5b188341dd2d1c21e9b829fa22fb6e51cc865
Reviewed-on: https://gerrit.instructure.com/49056
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>