Commit Graph

479 Commits

Author SHA1 Message Date
James Williams f888621298 add streaming templates: part 2
adds template streaming to the following endpoints:

assignments#show
context_modules#index
courses#show
discussion_topics#show
quizzes/quizzes#show
quizzes/quizzes#edit
quizzes/quizzes#history

Change-Id: I2481f3f738077fb0eaef16e6b5f0db3ea6f60c16
Reviewed-on: https://gerrit.instructure.com/202708
Tested-by: Jenkins
Reviewed-by: Ryan Shaw <ryan@instructure.com>
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2019-08-05 19:10:20 +00:00
Ryan Shaw 989ed93e6c add streaming templates: part 1
send the head tag before we start rendering
the rest of the response for the following
high traffic endpoints:

context#roster_user
courses#index
eportfolio_categories#show
eportfolio_entries#show
eportfolios#show
gradebooks#grade_summary
submissions#show

Change-Id: I2bb2e068c4c0633964aee05c27d3e6207e1cf472
Reviewed-on: https://gerrit.instructure.com/199707
Tested-by: Jenkins
QA-Review: Ryan Shaw <ryan@instructure.com>
Product-Review: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>
Reviewed-by: Clay Diffrient <cdiffrient@instructure.com>
2019-07-31 19:23:44 +00:00
Tucker McKnight b4b70d4e00 spec: Unskip tests that use the RCE API
We can run these again, now that the RCE API port has been
changed in rspect.

test plan:
- tests pass

Change-Id: Id399589b5e41788210adb4b7661bc606519ae127
Reviewed-on: https://gerrit.instructure.com/195864
Tested-by: Jenkins
Reviewed-by: Kai Bjorkman <kbjorkman@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
Product-Review: Tucker Mcknight <tmcknight@instructure.com>
2019-05-31 22:24:07 +00:00
Tucker McKnight 387bff1065 spec: Skip RCS tests and change port value for RCE API
The tests should be un-skipped as soon as we change which
port the RCE API is running on, which would be a commit in the
rspect repo.

test plan:
- Tests pass

Change-Id: I4778e2210dee0e1377c9d0826fbb8768c5bc0871
Reviewed-on: https://gerrit.instructure.com/195675
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins
Product-Review: Tucker Mcknight <tmcknight@instructure.com>
2019-05-29 21:45:33 +00:00
James Williams bcdaf5fac9 add caching around permission/role_override calculations
test plan:
* permissions should behave exactly as before
* cached permissions should update correctly when changed
through the UI (or if accounts associations are changed)

refs #CORE-2851

Change-Id: I5c39547039b44f77e1f3bd3978783520b8191e3c
Reviewed-on: https://gerrit.instructure.com/193004
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
2019-05-29 15:52:47 +00:00
James Williams 7304ad132f spec: add specs_require_cache
Change-Id: I322027792822f50e7c5afa75e4216534bced031c
Reviewed-on: https://gerrit.instructure.com/194572
Reviewed-by: Derek Bender <djbender@instructure.com>
Tested-by: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2019-05-21 18:59:05 +00:00
James Williams 3e161cb6e8 partition messages
test plan:
* run the migrations
* sending messages and viewing them as an admin
 should work as before

closes #COMMS-1327

Change-Id: If955b49d07fa68f8a5151984eb4d9c3b97b118ee
Reviewed-on: https://gerrit.instructure.com/170657
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
2018-12-10 13:42:35 +00:00
Cody Cutrer acb948337c add attachment specific subdomain if configured
closes CORE-942

test plan:
 * add `attachment_specific_file_domain: true` to your dynamic_settings.yml
   (or to consul) as illustrated in the example
 * have a files domain configured
 * browse Canvas
 * verify that files go through a domain with their ID in it, rather than
   just the basic files domain

Change-Id: I21540fb06266dcbf80b66bb884c09cd14eb03456
Reviewed-on: https://gerrit.instructure.com/166462
Tested-by: Jenkins
Product-Review: Matt Miller <mmiller@instructure.com>
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Tucker Mcknight <tmcknight@instructure.com>
2018-11-19 22:39:50 +00:00
Marc Phillips d946966f3a Remove DeveloperKey Management and Scoping FF
This does not remove the old dead code, just all the places
that checked to see if it was enabled.

closes PLAT-3752

Test Plan:
 - Regression test on the developer keys page
 - Also need to check that creating an oauth 2 token is
   not broken (using client credentials)

Change-Id: I89983922a894ff7f20e86c034728d55284c8c668
Reviewed-on: https://gerrit.instructure.com/168271
Tested-by: Jenkins
Reviewed-by: Weston Dransfield <wdransfield@instructure.com>
QA-Review: Weston Dransfield <wdransfield@instructure.com>
Product-Review: Marc Phillips <mphillips@instructure.com>
2018-10-26 15:16:36 +00:00
Rob Orton acdcbf3250 remove the old sis importer
Change-Id: Ifef519776e4358204dd6625acd6cd9f841cd7fcb
Reviewed-on: https://gerrit.instructure.com/152331
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2018-08-17 15:30:27 +00:00
Cody Cutrer 4bd3764ac0 fix bullet/onceler interaction
with nested specs, where the other group has :once stuff, but the
inner does not

Change-Id: I2145cba249b5cbeb82c19ef47037674ac867f44d
Reviewed-on: https://gerrit.instructure.com/159901
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-08-08 16:45:01 +00:00
Cody Cutrer d8f93be62e inherit bullet state in nested before(:once)
Change-Id: I1277d7ba47df8f8aa314125aab7bf32512ea807a
Reviewed-on: https://gerrit.instructure.com/157074
Tested-by: Jenkins
Reviewed-by: James Williams  <jamesw@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-07-30 19:22:07 +00:00
Derek Bender 5c010db736 remove dead code and rework comment specs
this patchset removes the unused provisional grade comments, they
weren't used! It also refactors some app code but the majority of the
work was in speed_grader_spec.rb

test plan:
this patchset removes unused code, so we could smoke test speedgrader
for submission comments with moderated grading, but honestly it seems
like overkill if the specs pass.

closes: GRADE-1311

Change-Id: I0b5d3417d3c113b4fa88542284d1e04b2a291be6
Reviewed-on: https://gerrit.instructure.com/155612
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Adrian Packel <apackel@instructure.com>
Tested-by: Jenkins
QA-Review: Derek Bender <djbender@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2018-07-13 16:36:18 +00:00
Cody Cutrer 63d08a7784 spec: fix expectations on nil
Change-Id: I621bab000dbef356bcb1d73461ffd643fc0dc752
Reviewed-on: https://gerrit.instructure.com/156727
Tested-by: Jenkins
Reviewed-by: Brent Burgoyne <bburgoyne@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-07-11 15:24:27 +00:00
Cody Cutrer d28dae33ac bullet tweaks
* disable counter cache detection (we don't use it everywhere, because it can
   be a db resource drain)
 * mark objects created via spec factories that bypass AR as newly-created,
   and thus not needing to have associations preloaded on them

Change-Id: Ifc39c87df753fb28f8b094d77a5afe4f90fe8809
Reviewed-on: https://gerrit.instructure.com/156646
Reviewed-by: Simon Williams <simon@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-07-10 15:16:55 +00:00
Cody Cutrer 582421d92b integrate onceler with bullet
copy state over from before(:once) to examples, so that objects
created in the before(:once) don't get tagged as needing to have
been preloaded

Change-Id: I3a2f4fe1b7359f62f55d61a664e6bdcc1499862e
Reviewed-on: https://gerrit.instructure.com/156632
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-07-10 15:16:44 +00:00
Cody Cutrer 6d36e56b12 add bullet
Change-Id: Ia8722fb87d906251faaa710c95fbaeab593c5539
Reviewed-on: https://gerrit.instructure.com/154376
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-07-09 20:18:10 +00:00
Tucker McKnight 72bc724fb3 spec: Move generic consumer tests into pact folder
This also moves the pact_config.rb file into the pact folder.

The line filtering :pact tests has been removed from spec_helper.rb,
since rspec won't try to run them anyway now that they aren't in the
spec folder.

Change-Id: I1d8f27f4f30aa2cdc85e570deb7e0aa2cdb89c66
Reviewed-on: https://gerrit.instructure.com/152144
Reviewed-by: Michael Hargiss <mhargiss@instructure.com>
Tested-by: Jenkins
Product-Review: Tucker McKnight <tmcknight@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
2018-06-04 17:11:00 +00:00
Derek Bender b57cb8cbae add anonymous provisional grades controller
When loading or selecting a student in SpeedGrader, an ajax call is made
to obtain the provisional grade status for that student. This provides a
way to perform this request anonymously.

closes GRADE-1128

test plan
- given an anonymously graded and moderated assignment
- given some students assigned to said assignment
- when visiting speed grader
- then the page loads provisional grades endpoint which can be viewed in
  the dev tools on the network tab. The URL looks like:

  /api/v1/courses/1/assignments/1/anonymous_provisional_grades/status

Change-Id: Ib3d3a7b58fc8fa044d240dee0c1bef08b80384d0
Reviewed-on: https://gerrit.instructure.com/151607
Tested-by: Jenkins
Reviewed-by: Jeremy Neander <jneander@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Indira Pai <ipai@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2018-05-30 17:40:14 +00:00
Tucker McKnight a477cea972 Configuration for i18n Jenkins build
test plan:
- make sure that Jenkins still runs all of the usual tests
- create a Selenium test marked as i18n: true and make sure
  that it gets run in the canvas__selenium-i18n build
- console output for failing tests in the i18n build
  should include which language they failed in

closes CORE-1038
closes CORE-1041

Change-Id: Ie0f2797b704db4fa6aedae3792c0a75b9e83325e
Reviewed-on: https://gerrit.instructure.com/143659
Reviewed-by: Eric Jacobs <ejacobs@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Tucker McKnight <tmcknight@instructure.com>
2018-05-21 21:42:24 +00:00
Michael Hargiss 8568525f24 consolidate contract tests
Test Plan:
  - follow the instructions in spec/contracts/README.md to run
  the live events contract tests locally
  - follow the instructions in
  spec/contracts/service_providers/canvas_lms/README.md to run
  the "Generic Consumer" Canvas API contract tests locally

Change-Id: I316747f53731f411ab82432587596e335c2fd059
Reviewed-on: https://gerrit.instructure.com/149766
Reviewed-by: Tucker McKnight <tmcknight@instructure.com>
Tested-by: Jenkins
Product-Review: Michael Hargiss <mhargiss@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
2018-05-18 22:34:20 +00:00
Rob Orton 777ba1f30d delete scribd
Change-Id: I20d2b6f522a742d220f4263e4d53353bbd996671
Reviewed-on: https://gerrit.instructure.com/146125
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2018-04-10 17:39:52 +00:00
Michael Hargiss 7293ebc942 add quiz lti contract tests for live events
refs QUIZ-4175

Test Plan:
  - qa-cr for now. A subsequent commit will include a comprehensive
    test plan once the Quiz LTI contract test is published.

Change-Id: I2ffe962d8a626994614f3cc904d131e41e3a00b1
Reviewed-on: https://gerrit.instructure.com/145857
Tested-by: Jenkins
Reviewed-by: Mark Grant <mgrant@instructure.com>
Product-Review: Michael Hargiss <mhargiss@instructure.com>
QA-Review: Michael Hargiss <mhargiss@instructure.com>
2018-04-10 14:20:18 +00:00
Simon Williams 9ac6326ff6 spec: cache BrandableCSS.default_variables_md5 before spec runs
Change-Id: I4146172303ccd60375b829750296349f353f4ac4
Reviewed-on: https://gerrit.instructure.com/146356
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Simon Williams <simon@instructure.com>
QA-Review: Simon Williams <simon@instructure.com>
2018-04-09 18:57:31 +00:00
James Williams 22472e9428 don't call current_xlog_location in a transaction
Change-Id: I67b0b7b9baa41d76a34f37e2b33541cb10760dc6
Reviewed-on: https://gerrit.instructure.com/145006
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2018-03-28 19:54:41 +00:00
Cody Cutrer 616b2dbb47 drop rails 5.0
Change-Id: Ic374d543a7ba00f660efccb287513c5f80232196
Reviewed-on: https://gerrit.instructure.com/144178
Reviewed-by: James Williams  <jamesw@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2018-03-20 19:50:23 +00:00
Jeremy Neander 760fca6969 anonymize students in speed_grader.json
closes GRADE-941

test plan:
 A. Setup
    1. Select or create
       a. A Course
       b. At least one Student
       c. At least one TA
       d. At least one Assignment with rubric
    2. Enable avatars
    3. As the Student
       a. Give yo'self an avatar
          * Remember to smile
       b. Submit to the assignment
       c. Comment on the submission
    4. As the TA
       a. Upload an avatar
          * No smiles. You are only an assistant.
       b. Comment on the submission
    5. As the Teacher
       a. Avatar: The Last Gradebender
          * Wear that nice sweater you for for your birthday
       b. Grade the submission using the rubric
       c. Comment on the submission
    6. In the Rails console
       a. Load the submission
       b. Assign `abcde` as the submission `anonymous_id`
       c. Save the submission

 B. With AMM Enabled
    1. Enable the AMM feature flag
    2. Visit the course in SpeedGrader
    3. Open the browser network dev tool tab
    4. Refresh to ensure the `speed_grader.json` request is present
    5. View the response to that request

    6. Verify for the enrollments
       a. The student id is absent from the student enrollment
          * `context.enrollments[*].user_id`
       b. The enrollment has an anonymous_id of `abcde`
          * `context.enrollments[*].anonymous_id`

    7. Verify for the submission
       a. The submission has an anonymous_id of `abcde`
          * `submissions[*].anonymous_id`
       b. The submission has no `user_id`
          * `submissions[*].user_id`
       c. The submission history has an anonymous_id of `abcde`
          * `submissions[*].submission_history[*].anonymous_id`
       d. The submission history has no `user_id`
          * `submissions[*].submission_history[*].user_id`

    8. Verify for the student
       a. The student id is absent from the student
          * `context.students[*].id`
       b. The student id is absent from rubric assessments
          * `context.students[*].rubric_assessments[*].user_id`
       c. The student id is absent from submission comments
          * `submissions[*].submission_comments[*].author_id`
       d. The student comment has an anonymous_id of `abcde`
          * `submissions[*].submission_comments[*].anonymous_id`
       e. The student name is absent from submission comments
          * `submissions[*].submission_comments[*].author_name`
       f. The student avatar is the fallback on submission comments
          * `submissions[*].submission_comments[*].avatar_path`
          * `/images/messages/avatar-50.png`

    9. Verify for the TA
       a. The TA id is present on submission comments
          * `submissions[*].submission_comments[*].author_id`
       b. The TA comment does not have an `anonymous_id`
          * `submissions[*].submission_comments[*].anonymous_id`
       c. The TA name is present on submission comments
          * `submissions[*].submission_comments[*].author_name`
       d. The TA avatar is present on submission comments
          * `submissions[*].submission_comments[*].avatar_path`

   10. Verify for the Teacher
       a. The Teacher id is present on submission comments
          * `submissions[*].submission_comments[*].author_id`
       b. The Teacher comment does not have an `anonymous_id`
          * `submissions[*].submission_comments[*].anonymous_id`
       c. The Teacher name is present on submission comments
          * `submissions[*].submission_comments[*].author_name`
       d. The Teacher avatar is present on submission comments
          * `submissions[*].submission_comments[*].avatar_path`

 C. With AMM Disabled
    1. Disable the AMM feature flag
    2. Visit the course in SpeedGrader
    3. Open the browser network dev tool tab
    4. Refresh to ensure the `speed_grader.json` request is present
    5. View the response to that request

    6. Verify for the enrollments
       a. The student id present on the student enrollment
          * `context.enrollments[*].user_id`
       b. The enrollment does not have an anonymous_id
          * `context.enrollments[*].anonymous_id`

    7. Verify for the submission
       a. The submission has no anonymous_id of `abcde`
          * `submissions[*].anonymous_id`
       b. The submission has the student id assigned to `user_id`
          * `submissions[*].user_id`
       c. The submission history has the student id assigned to `user_id`
          * `submissions[*].submission_history[*].user_id`

    8. Verify for the student
       a. The student id is present on the student
          * `context.students[*].id`
       b. The student id is present on rubric assessments
          * `context.students[*].rubric_assessments[*].user_id`
       c. The student id is present on submission comments
          * `submissions[*].submission_comments[*].author_id`
       d. The student comment does not have an anonymous_id
          * `submissions[*].submission_comments[*].anonymous_id`
       e. The student name is present on submission comments
          * `submissions[*].submission_comments[*].author_name`
       f. The student avatar is present on submission comments
          * `submissions[*].submission_comments[*].avatar_path`

    9. Verify for the TA
       a. The TA id is present on submission comments
          * `submissions[*].submission_comments[*].author_id`
       b. The TA comment does not have an `anonymous_id`
          * `submissions[*].submission_comments[*].anonymous_id`
       c. The TA name is present on submission comments
          * `submissions[*].submission_comments[*].author_name`
       d. The TA avatar is present on submission comments
          * `submissions[*].submission_comments[*].avatar_path`

   10. Verify for the Teacher
       a. The Teacher id is present on submission comments
          * `submissions[*].submission_comments[*].author_id`
       b. The Teacher comment does not have an `anonymous_id`
          * `submissions[*].submission_comments[*].anonymous_id`
       c. The Teacher name is present on submission comments
          * `submissions[*].submission_comments[*].author_name`
       d. The Teacher avatar is present on submission comments
          * `submissions[*].submission_comments[*].avatar_path`

   11. Smoke test SpeedGrader

Change-Id: I57806c555b904757876523f4e201cfd8dcd31e61
Reviewed-on: https://gerrit.instructure.com/143287
Reviewed-by: Spencer Olson <solson@instructure.com>
Tested-by: Jenkins
Reviewed-by: Derek Bender <djbender@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
2018-03-20 14:35:25 +00:00
Jacob Fugal 171ef86f81 set Attachment.current_root_account during jobs
and rename that suite of methods to make more sense

test-plan: N/A

Change-Id: Iffc520ea55141ac47da669663838a4d3c3d8712c
Reviewed-on: https://gerrit.instructure.com/142486
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Jacob Fugal <jacob@instructure.com>
QA-Review: Jacob Fugal <jacob@instructure.com>
2018-03-07 17:18:24 +00:00
James Williams c496ed62e9 use parallel importers to do stuff in smaller jobs
and overall maybe suck a little less

test plan:
* enable the feature "SIS Import Refactor"
* lower the threshold to use multiple parallel jobs
 via "/plugins/sis_import" to a number like 2
* regression tests for sis batch imports

closes #CORE-927 #CORE-928

Change-Id: I91b0bb0cc0e0957cae7897af453ed2d19555303d
Reviewed-on: https://gerrit.instructure.com/140535
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2018-03-01 20:05:33 +00:00
Shahbaz Javeed a45e7e1eb0 fix error switching courses in student grades page
allow switching between courses that belong to different grading period
groups

closes GRADE-768

test plan:
* Create three terms in an Account, T1, T2 and T3
* Leave T1 without any grading periods
* Create a new Grading Period set (and grading periods) in T2
* Create a separate new Grading Period set (and grading periods) in T3
  such that there is some overlap between the grading periods from this
  set and the one you created for T2

* Create five courses, C1, C2, C3, C4, C5
* Associate C1 and C2 with term T1 so they have no grading periods
* Associate C3 and C4 with term T2
* Associate C5 with term T3

* Create assignments in each of these courses with at least one
  assignment in each grading period
* Enroll one student in all four of these courses
* Grade this student for all the assignments in all courses

* As the student, visit the grade summary page for C1
* Verify you don't see the grading period filter

* From the filters, change the course to C2 and click "Apply"
* Verify you're now seeing the grade summary page for C2
* Verify the URL does not contain a parameter named "grading_period_id"
* Verify this page doesn't show the grading period filter either

* From the filters, change the course to C3 and click "Apply"
* Verify you're now seeing the grade summary page for C3
* Verify the URL does not contain a parameter named "grading_period_id"
* Verify this page now does show the grading period filter
* Verify the grading period filter shows the current grading period i.e.
  one that covers the date/time right now

* From the filters, change the grading period to another one and
  click "Apply"
* Verify you're still on the grade summary page for C3
* Verify the URL now does contain a parameter named "grading_period_id"
* Verify this page also shows the grading period filter
* Verify the grading period filter shows the grading period you selected

* From the filters, change the course to C4 and click "Apply"
* Verify you're now seeing the grade summary page for C4
* Verify the URL now does contain a parameter named "grading_period_id"
* Verify this page now does show the grading period filter
* Verify that the grading period filter shows the same grading period
  it did for the page you just came from (grade summary for C3)

* From the filters, change the course to C5 and click "Apply"
* Verify you're now seeing the grade summary page for C5
* Verify the URL does not contain a parameter named "grading_period_id"
* Verify this page also shows the grading period filter
* Verify the grading period filter shows the current grading period i.e.
  one that covers the date/time right now

Change-Id: If9ceb843fbcc2d5b38f80ef415feaff34a8c96ba
Reviewed-on: https://gerrit.instructure.com/139115
Reviewed-by: Spencer Olson <solson@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>
2018-02-15 17:29:55 +00:00
Rob Orton 5e735cebeb store sis_batch_errors in the db
fixes CORE-324

test plan
 - run a sis import with errors
 - the errors should be included in the api JSON

Change-Id: I97e372a82b565e7bfa01cd9ca0bb66bb67c95723
Reviewed-on: https://gerrit.instructure.com/139071
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2018-01-26 22:08:25 +00:00
Rob Orton 0a4f6861dd handle processing sis batch from an index
this allows us to send different indexes to
multiple workers and process the file in
parallel.

fixes CORE-903

test plan
 - specs should pass

Change-Id: I06d8da8c50476f4a62e0138352ab759b4874f8e8
Reviewed-on: https://gerrit.instructure.com/138814
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2018-01-24 22:03:47 +00:00
Rob Orton b5de0458d9 dots and new lines
test plan
 - specs should pass

Change-Id: Iafc7c9b8ca64f32568e658b600e19c2e6f9045ca
Reviewed-on: https://gerrit.instructure.com/138026
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
2018-01-17 16:56:26 +00:00
Cody Cutrer eff1494309 remove deprecate POST /login route
refs CNVS-39869

Change-Id: Iee9571b2e4ea3aae2331fa76ae531d28913f66ba
Reviewed-on: https://gerrit.instructure.com/129108
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-10-16 17:00:02 +00:00
Steven Burnett b48d3260ff create migration for populating terms
Change-Id: I13eddbe900070b8f50ff5c8f6f016daa27ec87d1
Reviewed-on: https://gerrit.instructure.com/128447
Tested-by: Jenkins
QA-Review: Steven Burnett <sburnett@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
Reviewed-by: James Williams  <jamesw@instructure.com>
2017-10-05 20:19:30 +00:00
Felix Milea-Ciobanu ca54bba53c fix admin tools user search date picker
fixes CNVS-35635

test plan:
- go to Account Settings > Admin Tools
- click on the View Notifications tab
- search for users that will result in a large number of results
- click on any of the users
- note that a modal pops up with a date range
- select a range
- note that the results update (assuming there's notification to be
  found) when you click the Find button and the modal goes away
- note that this provides a decent a11y experience

Change-Id: I57db77950a69842249cace0c738025d9ee131b0d
Reviewed-on: https://gerrit.instructure.com/125818
Tested-by: Jenkins
Reviewed-by: Ed Schiebel <eschiebel@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Felix Milea-Ciobanu <fmileaciobanu@instructure.com>
2017-09-22 21:27:45 +00:00
Jon Jensen 84d2ffb47c spec: reset MultiCache
fix :allthethings:

Change-Id: I687529a965316c17d0c5c3e6d02282511a016801
Reviewed-on: https://gerrit.instructure.com/125849
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-09-13 00:26:30 +00:00
Cody Cutrer 2cfeeae20e configure multicache via consul
closes CNVS-39230

Change-Id: Iabe72578d52079628a18d2212b40a8a85e273b26
Reviewed-on: https://gerrit.instructure.com/125589
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-09-12 22:49:16 +00:00
James Williams 3855fc4af1 filter out localhost and local ips from canvashttp
test plan:
* use the API to queue a content migration for a course
 with a parameter 'file_url' set to a local url
 (i.e. 'localhost:3000/500.html')
* it should not download the file and allow the file
 to be downloaded on the content migrations page
 for the course

* create a link to a local file
 in a piece of course content (i.e. a page)
* run the course link validator
* it should not actually check if the link exists locally
 or not, but rather always flag the link

closes #SEC-606 SEC-607

Change-Id: I671c017ec93d88446df77d716725fff8874622bc
Reviewed-on: https://gerrit.instructure.com/125118
Tested-by: Jenkins
Reviewed-by: Brad Horrocks <bhorrocks@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
2017-09-12 20:29:56 +00:00
James Williams 858f509d54 spec: don't recreate roles on every spec
also remove a method that doesn't do anything

should make things faster maybe?

Change-Id: Ie3849b6faa539317338c6f55a0f7be86b8a20c3d
Reviewed-on: https://gerrit.instructure.com/122440
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2017-08-11 20:34:30 +00:00
Omar Khan 0536054715 Skip tests that require plugin unless plugin installed
fixes CNVS-36355

Test plan:

- docker-compose build --pull
- docker-compose run --rm web bundle exec rspec \
  spec/{apis,controllers,helpers,initializers,integration,lib,message,\
  middleware,migrations,models,observers,presenters,serializers,views}\
  /**/*_spec.rb

Change-Id: I4220a314dbc2e343dae26e6e522806f4f2666f85
Reviewed-on: https://gerrit.instructure.com/120671
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Product-Review: Jon Jensen <jon@instructure.com>
QA-Review: Jon Jensen <jon@instructure.com>
2017-07-28 19:30:52 +00:00
Cody Cutrer 142d24bebe spec: remove mocha
also clean up a final few mocha => rspec-mock translations that
were missed

Change-Id: I805c82c84d73099cc396bf9d3a976ebfc972c84c
Reviewed-on: https://gerrit.instructure.com/120680
Tested-by: Jenkins
Reviewed-by: Simon Williams <simon@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-07-27 18:22:39 +00:00
Cody Cutrer 20ff5a9910 spec: mocha => rspec-mocks for api
Change-Id: Ie79aae6502419063835326facd17d9e3c8a77bad
Reviewed-on: https://gerrit.instructure.com/120594
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
2017-07-26 19:25:44 +00:00
James Williams fab27347e9 rails 5.1: enforce new controller/integration spec format
Change-Id: I68cd388bbf7d22d7608a68fbb075493e4a1709fc
Reviewed-on: https://gerrit.instructure.com/120423
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2017-07-25 21:05:42 +00:00
Cody Cutrer 4990da6779 prep for mocha removal
* ENV['NO_MOCHA']=1 to disable mocha
 * switch several core mocks to rspec-mocks
 * fix Great Expectations to allow mock expectations
   in before blocks

Change-Id: Icee8dee7f01234d2dd4e26ac13562fe9fc93665a
Reviewed-on: https://gerrit.instructure.com/119984
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Reviewed-by: Simon Williams <simon@instructure.com>
2017-07-25 17:37:13 +00:00
James Williams 99edb63c4e spec: rails 5.1: rewrite integration spec format
Change-Id: Ib6f1923b8ff0ec148bfcf5416e3c4d239f5707d5
Reviewed-on: https://gerrit.instructure.com/120243
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams  <jamesw@instructure.com>
QA-Review: James Williams  <jamesw@instructure.com>
2017-07-25 16:18:52 +00:00
Cody Cutrer c00177b54d fix latent bug in enrollment importer with account associations
fixes CNVS-38298

Change-Id: I4904db19185c764670a5d12f56f2a3df96f9cf60
Reviewed-on: https://gerrit.instructure.com/119870
QA-Review: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
2017-07-20 19:01:08 +00:00
Brent Burgoyne bdd84843ca put rich content service behind setting
until rcs is open sourced we don't want it enabled by default for
open source users.

closes CNVS-38092

test plan:
- disable rcs feature flag
- rcs should be off everywhere
- from the rails console run:
  - Setting.set('rich_content_service_enabled', 'true')
- send SIGHUP to your rails process(es)
- rcs should be on for eportfolios and wiki pages
- enable rcs feature flag
- rcs should be on everywhere

Change-Id: Ibca84b7183dd0344b73433024b47e9948cbab3e8
Reviewed-on: https://gerrit.instructure.com/118223
Tested-by: Jenkins
Reviewed-by: brian kirkby <bkirkby@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2017-07-10 19:24:46 +00:00
Brent Burgoyne 179bf7c5fc change rcs feature flag text, remove first 2 flags
the first two rcs flags have been enabled for all hosted accounts
for a long time. we are changing the lable of the 3rd flag and removing the
first two to provide better clarity as we enable the 3rd flag for
accounts.

closes CNVS-37261

test plan:
- go to the feature flags page for an account
  - there should only be one rcs flag with an updated message
- ensure that flag is disabled
- editing wiki pages should still have the new sidebar
- high risk area (i.e. quizzes, assignments) should not have the new
  sidebar
- enable the flag
- all editors should be using rcs with the new sidebar

Change-Id: I689eb9ebaf4d3a5fc111c231d13861cc28ae5d87
Reviewed-on: https://gerrit.instructure.com/116542
Tested-by: Jenkins
Reviewed-by: brian kirkby <bkirkby@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Brent Burgoyne <bburgoyne@instructure.com>
2017-06-27 18:39:16 +00:00
Cody Cutrer 75c7538888 drop rails 4.2
also, allow rails 5.1

Change-Id: If480c2a2c01a7578552dc70f4bdcf3a46df40e7b
Reviewed-on: https://gerrit.instructure.com/115654
Tested-by: Jenkins
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
Reviewed-by: Tyler Pickett <tpickett@instructure.com>
2017-06-27 15:29:51 +00:00