test plan:
* set up some blueprint courses with associated courses
all with sis ids
* run a sis export report
* it should have the blueprint_course_id set
on associated courses
closes #CORE-1678
Change-Id: I3ad184272ffa1c77968b36aca852fbafa1f20da6
Reviewed-on: https://gerrit.instructure.com/159355
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Rohan Cheeniyil <rcheeniyil@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
test plan:
* have a student and observer link set up
(e.g. through sis csv or /profile/observees)
* create a sub-account
* from that sub-account, perform a sis provisioning report
including "user observers"
* it should not include the user observer link unless
the student is in a course in the sub-account
closes #CORE-1650
Change-Id: I0eae5cc725db5643ed19a238a597a0e4a3b4005a
Reviewed-on: https://gerrit.instructure.com/158133
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
closes OUT-2218
test plan:
- in a new course, import the CSV file attached to the JIRA ticket
- align the newly created outcome to an assignment
- submit to the assignment
- confirm that a score appears in the LMGB
- confirm that a score appears in the sLMGB
Change-Id: I5d013b2e74369a23c9922059734c86d0328dea08
Reviewed-on: https://gerrit.instructure.com/155468
Reviewed-by: Frank Murphy <fmurphy@instructure.com>
Tested-by: Jenkins
QA-Review: Dariusz Dzien <ddzien@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
closes OUT-2219
Test plan:
- Verify that the CSV files included in the ticket
import without error
- Verify that the account outcomes export correctly
after the files included in the ticket have been
imported
- Create a valid outcomes CSV file with only the following
fields: vendor_guid, object_type, title
and verify that it imports correctly
- Verify that account outcomes export correctly
after the minimal file has been imported
Change-Id: I94d48be26bb12930c9355ebfc38f928860249ba9
Reviewed-on: https://gerrit.instructure.com/151822
Reviewed-by: Frank Murphy <fmurphy@instructure.com>
Reviewed-by: Matt Berns <mberns@instructure.com>
Tested-by: Jenkins
QA-Review: Augusto Callejas <acallejas@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
Fixes OUT-2135
Test Plan:
- Create a course level outcome.
- In the course, create an assignment with a rubric containing the
outcome as a criterion.
- In the rails console, set the hide attributes on the
rubric association:
> RubricAssociation.last.update(hide_points: true,
hide_outcome_results: true)
- As a student, submit to the assignment.
- As a teacher, grade the assignment in speedgrader, giving points to
the outcome in the rubrics.
- In account settings, run the "Outcome Export" report.
- Verify that the "outcome score", "learning outcome points possible",
"learning outcome mastery score", and "learning outcome rating points"
fields are all blank for the assignment you took.
- In account settings, run the "Student Competency" report.
- Verify that the "outcome score", "learning outcome points possible",
"learning outcome mastery score", and "learning outcome rating points"
fields are all blank for the outcome you created.
Change-Id: I5859552795dcdfd3420b034638529fe6bf1130e1
Reviewed-on: https://gerrit.instructure.com/148318
Tested-by: Jenkins
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Andrew Porter <hporter-c@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
fixes CORE-1294
test plan
- add enrollment to cross listed course
- run sis export
Change-Id: I12de33df66272bd1bc8c28f63e24c20d7ed1fc64
Reviewed-on: https://gerrit.instructure.com/146837
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CORE-1276
test plan
- have a user with two pseudonyms
- it should have one line in grade export report
Change-Id: I7e3dbb45905371f18f89ee1546830d41b56937fa
Reviewed-on: https://gerrit.instructure.com/146259
Tested-by: Jenkins
Reviewed-by: James Williams <jamesw@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
test plan:
* use the User Observees API to link and unlink
students and observers - noting the additional
optional 'root_account_id' argument
and the returned 'observation_link_root_account_ids'
value
* user observation links (user_observers) should
behave similar to before (especially in the majority
of cases where users and observers are associated
with a single account), with the exception that
only courses in linked root accounts will
automatically add the observer
closes #CORE-1065 #CORE-1066
Change-Id: I056596c022b373cd93519ae2773f9bb1023613eb
Reviewed-on: https://gerrit.instructure.com/143124
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
closes RECNVS-372
test-plan
- enable account reports in account plugins
- navigate to account>settings>reports and select a report
- after the report is generated, verify that the download comes from
inst-fs not canvas
Change-Id: I8d89fcf4889610bfd4a4ee10e7b09958553ab504
Reviewed-on: https://gerrit.instructure.com/145193
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Michael Jasper <mjasper@instructure.com>
fixes CORE-1240
test plan
- run account report using parallel runner
- it should work
Change-Id: Ib0e8480e53d65b7e5b7f4d3c3f2f36c7d283fb52
Reviewed-on: https://gerrit.instructure.com/145605
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Fixes OUT-2052
Test Plan:
- Create an outcomes tree under an account, with nested outcomes.
- Export the account outcomes.
- Create a new course under the prior account.
- Import outcomes into that account.
- The outcome tree should be fully imported.
Change-Id: Ifbf886a65a307b4c45f9c28ca92c19f0bcb16c06
Reviewed-on: https://gerrit.instructure.com/145408
Tested-by: Jenkins
Reviewed-by: Matt Berns <mberns@instructure.com>
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
QA-Review: Leo Abner <rabner@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
closes OUT-2063
test plan:
- in canvas, create an account outcome that has
large values with a decimal value for mastery
points and highest rating, like 1000.2 and
1000000.3, respectively
- in account settings, select "Svenska" as the
"Default Language"
- run an outcome export (under setttings, select
the "Rapporter" tab, then its the "Utkomst-export"
report)
- download and open the csv file
- confirm that points appear with locale-specific
separator and delimiter, like "1 000,2"
Change-Id: Ib418c8788daf4d0bb75424dd613e2d94d2f63a68
Reviewed-on: https://gerrit.instructure.com/144745
Reviewed-by: Neil Gupta <ngupta@instructure.com>
Tested-by: Jenkins
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
QA-Review: Andrew Porter <hporter-c@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
fixes CORE-1194
test plan
- run any account report
- the start_at should be populated
Change-Id: I6c2635a3106b753da1f20e93518748aa8dc4c181
Reviewed-on: https://gerrit.instructure.com/144546
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
for my sanity because it's too confusing to actually refactor
closes #CORE-1140
Change-Id: I445e0edeb3fde76ffd02a467180ee7a83d916067
Reviewed-on: https://gerrit.instructure.com/143538
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
In the MGP report, when a Score object for a given enrollment/grading
period does not exist, return an empty hash instead of an array to avoid
an error.
fixes GRADE-869
Test plan:
- Set up a course with multiple grading periods and enroll some students.
- Identify a student in the course.
- In the Rails console, manually delete one of that student's Score
objects associated a grading period in the course, using an approach
such as:
> course = Course.find_by(name: <your course name>)
> gp = GradingPeriod.find_by(title: <your grading period name>)
> student = User.find_by(name: <your student name>)
> enrollment = Enrollment.find_by(course: course, user: student)
> Score.find_by(enrollment: enrollment, grading_period: gp).destroy!
- Run the MGP report for that course and make sure it completes
without incident.
(If you ran the report without applying this patchset, you would
see a "no implicit conversion of Symbol into Integer" error in the
delayed job logs and the report would not complete.)
- In the output, locate the row for the relevant user and course.
The values grade/score values for the relevant grading period should
be empty.
(When you're done, you can call "undestroy" on the Score object above to
restore it to its previous state and avoid any potential weirdness.)
Change-Id: Ic163428a19a052e3f5540e040a290247c66b8380
Reviewed-on: https://gerrit.instructure.com/141748
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Anju Reddy <areddy@instructure.com>
Product-Review: Keith T. Garner <kgarner@instructure.com>
closes OUT-1837
Basic test plan:
- Create account outcomes in an account
- From the Account Settings/Reports tab, export
outcomes
- Verify the exported CSV matches expectations
Variations:
- nested outcome groups
- outcomes in multiple outcome groups
- global outcomes in account groups
- exporting outcomes from subaccount
- including account outcomes in subaccount
and exporting subaccount
Change-Id: I03c6e4b7b69e91a4e1c68f4242a596719ac12858
Reviewed-on: https://gerrit.instructure.com/140209
Tested-by: Jenkins
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
QA-Review: Andrew Porter <hporter-c@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
closes OUT-1573
adds
- section name/id/sis id
- assignment url
- outcome friendly name/points possible/mastery score/mastered
- account id/name
to Student Competency report and Outcome Results report
Test plan:
Create assignments in courses
and verify that the generated report is correct, order is correct,
and the report includes the values above.
In particular, test
- assignments with aligned rubrics
- quizzes with aligned question banks (each question should appear
on the results report; nothing will appear in the competency report)
- assignments that have not been submitted (should appear on competency
report, but not on results report)
- assignments aligned to multiple outcomes
- students in multiple sections
- students with multiple logins
- courses in multiple accounts (records should appear for
courses in an account and its subaccounts)
Change-Id: I6bbbe9f9d6d02b305079ea143c302e0fd8dfd359
Reviewed-on: https://gerrit.instructure.com/138578
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Augusto Callejas <acallejas@instructure.com>
Tested-by: Jenkins
QA-Review: Andrew Porter <hporter-c@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
not aseetuseraccesses, which are inconsistently created
for api calls
test plan:
* the zero activity account report should take
course-level api calls into account (i.e. those
from mobile access)
closes #CORE-917
Change-Id: I65f468710698dda937c3ac8dcea55e26d8102958
Reviewed-on: https://gerrit.instructure.com/139412
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
Product-Review: Robert Lamb <rlamb@instructure.com>
QA-Review: Robert Lamb <rlamb@instructure.com>
fixes CORE-911
test plan
- group category export should include course_id
Change-Id: I05e786d2bcf6f79cd90a8e009066dafe2a27d3f9
Reviewed-on: https://gerrit.instructure.com/139008
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CORE-910
test plan
- group export should work
Change-Id: Ib1e2854d0bbe53650081108132032f3d00c36386
Reviewed-on: https://gerrit.instructure.com/139001
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
also add columns to provisioning report
fixes CORE-656
test plan
- run sis export report with group categories
Change-Id: I745aa0e712f67b1be6628852b74abb3b3f90fb73
Reviewed-on: https://gerrit.instructure.com/137887
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CORE-657
test plan
- run sis export report with groups
Change-Id: I78a9aa53e9b7e75528c2d0e808e4843fb43a210e
Reviewed-on: https://gerrit.instructure.com/137888
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
also refactors report in anticipation of further tickets
closes OUT-1629
Test plan:
- Create an account with two subaccounts
- Create an account-level outcome and import
into both subaccounts
- Create an account-level rubric which
includes the outcome
- Create courses in the account and subaccounts
- Create assignments in each course
- Attach the rubric to each assignment
- As a student, submit each assignment
- In SpeedGrader, assess each assignment using the
rubric
- In the root account, go to the Settings/Reports
tab and run the Outcomes Report
- Verify that all three assessments are included
- In a subaccount, go to the Settings/Reports
tab and run the Outcomes Report
- Verify that only the result in that subaccount
is included
- Repeat the reporting steps with the Student Competency
Report
Change-Id: I9db0fca47197227468946ee7a716d90fdd6ac1a7
Reviewed-on: https://gerrit.instructure.com/137897
Tested-by: Jenkins
Reviewed-by: Augusto Callejas <acallejas@instructure.com>
Reviewed-by: Frank Murphy <fmurphy@instructure.com>
QA-Review: Andrew Porter <hporter-c@instructure.com>
Product-Review: Sidharth Oberoi <soberoi@instructure.com>
In the Grade Export and MGP Grade Export reports, add two columns at the
end of each row to represent a student's unposted current and final
scores. In the MGP report, add the columns for each grading period
alongside the existing current and final scores.
closes GRADE-115
Test plan:
Gradebook Export:
- Set up a course with a section and make sure it is part of an
enrollment term.
- Add at least one student (the student must have a pseudonym to be
included in the output).
- Add three assignments to the course:
- A published and graded assignment (#1)
- A published, graded and *muted* assignment (#2)
- A published assignment with no grade (#3)
- Run the report (Admin -> Settings -> Report -> Grade Export). For all
students graded as specified above, the following should hold:
- "current score" should take into account #1
- "final score" should score #1 and treat #2/#3 as zero points
- "unposted current score" should take into account #1/#2
- "unposted final score" should take into account all three and treat
#3 as zero points
MGP Gradebook Export:
- Create a course with multiple grading periods and a mix of
graded/ungraded and muted/unmuted assignments as described above.
- Run the MGP Gradebook Export report; in the output, check that
each individual grading period now has columns for unposted
current/final scores and that they obey the above rules.
- Also make sure that, as with the above report, columns for the
unposted scores (over all grading periods) now appear at the end.
- Finally, delete one of the grading periods you created and check
that the deleted period is *not* included in the report or factored
into the total values.
Change-Id: Iefc7fcd7036442057af22abc63a870552e159764
Reviewed-on: https://gerrit.instructure.com/137903
Reviewed-by: Shahbaz Javeed <sjaveed@instructure.com>
Tested-by: Jenkins
Reviewed-by: Spencer Olson <solson@instructure.com>
QA-Review: Spencer Olson <solson@instructure.com>
Product-Review: Matt Goodwin <mattg@instructure.com>
fixes CORE-667
fixes GRADE-250
fixes GRADE-251
test plan
- have a user with multiple sis pseudonyms
- enroll user into courses through sis import
using both sis_ids for different enrollments
- each enrollment should return the correct
pseudonym in grade export, Enrollment API,
Section API, Submission API
Change-Id: I2693851b6b65fe8266b3a4e6e8cefc30e3d6f214
Reviewed-on: https://gerrit.instructure.com/136804
Tested-by: Jenkins
QA-Review: Anju Reddy <areddy@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
closes CORE-42
test plan:
* have two root accounts on different shards that trust each other,
both using canvas auth
* have a student in account A, enrolled in a course
* on account B's login page, click the link, and set up a new user
linked to the student
* upon login, you should see the student's course(s)
Change-Id: I2bb8feb948862ce419450ffdc79ca52385f3e473
Reviewed-on: https://gerrit.instructure.com/130332
Reviewed-by: Rob Orton <rob@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
fixes CNVS-40021
fixes gh-1128
test plan
- should allow deleting sub_accounts through api
Change-Id: I2e86598f24b1343395637d1d266539ab8eccbb3e
Reviewed-on: https://gerrit.instructure.com/128613
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
refs PFS-8557
test plan
- run enrollments export
- it should have canvas_enrollment_id
Change-Id: Iba25f0bb585948f9cc2939d36a63fae50dc956ca
Reviewed-on: https://gerrit.instructure.com/125712
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-38846
this also fixes the group memberships report for multi-shard users
test plan:
* add multiple pseudonyms to a user
* enroll that user in a course
* do a provisioning report
* that user should only have one row per enrollment
Change-Id: Iba2077e52a86182cf79ab83e918125ba7e08fc42
Reviewed-on: https://gerrit.instructure.com/124086
Tested-by: Jenkins
Reviewed-by: Rob Orton <rob@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-38986
test plan
- should have names on provisioning report
Change-Id: I1346acb25658e3214076f4253c4c2f95ad7825b4
Reviewed-on: https://gerrit.instructure.com/124767
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
closes CNVS-38267
test plan
- report should run
- it should be formatted correctly
Change-Id: I9d3bed54e9bd9f06ffce28c59cfe46518c95bdc2
Reviewed-on: https://gerrit.instructure.com/119413
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-38695
test plan
- provisioning report should run
Change-Id: Ibb2e3b82aaa4b9da922eb850d4001a65cb42f232
Reviewed-on: https://gerrit.instructure.com/122953
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
QA-Review: Rob Orton <rob@instructure.com>
Tested-by: Rob Orton <rob@instructure.com>
Change-Id: I60ec3b519219fcb5256a132c05f63538600df73f
Reviewed-on: https://gerrit.instructure.com/121760
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
QA-Review: James Williams <jamesw@instructure.com>
test plan:
* have a course with a course format
("On-Campus", "Online", etc)
* perform a sis export
* the courses.csv file should list the format
closes #CNVS-37731
Change-Id: I5f3e3ae8eabad2b6d53d8cdc4c3c86c08a0ac00b
Reviewed-on: https://gerrit.instructure.com/116624
Reviewed-by: Dan Minkevitch <dan@instructure.com>
Tested-by: Jenkins
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: James Williams <jamesw@instructure.com>
fixes CNVS-35730
test plan
- setup account trust across shards
- add enrollment in cross shard course
- enrollment should show up in courses’
accounts’ provisioning report
Change-Id: I7727a8a61d4b8978eba1a497095619d87441f38a
Reviewed-on: https://gerrit.instructure.com/115580
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Tucker McKnight <tmcknight@instructure.com>
Tested-by: Jenkins
Product-Review: Rob Orton <rob@instructure.com>
refs CNVS-36193
test plan
- have a non sis enrollment in a course
- delete the course with a sis import by marking
it deleted (don’t delete with batch mode, cause
that is done in a different way)
- run sis export and include deleted
- all enrollments in the course should be marked
as deleted
- provisioning report should also have all the
enrollments in the course as deleted
Change-Id: I23b3d736092d7082e5b75a645228602102d4b1ac
Reviewed-on: https://gerrit.instructure.com/112470
Tested-by: Jenkins
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
test plan:
* create a learning outcome
* assess the learning outcome for a student
* before, this would have meant that no changes could be made
to the outcome through the update api, but now changes
should be allowed as long as they only affect text fields:
- title
- display_name
- description
- ratings[][description]
* any other changes should cause an error message
closes #CNVS-36951
Change-Id: I043af8fb0bfc427970a0723db9741a5fa93c5617
Reviewed-on: https://gerrit.instructure.com/112594
Tested-by: Jenkins
Reviewed-by: Michael Brewer-Davis <mbd@instructure.com>
Reviewed-by: Matt Berns <mberns@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: McCall Smith <mcsmith@instructure.com>
fixes CNVS-36938
test plan
- mark enrollment as inactive
- run grade export with include deleted objects option
- it should include the enrollment
Change-Id: I931cc107727148a7fcdd0a8213699db238521057
Reviewed-on: https://gerrit.instructure.com/112042
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>
fixes CNVS-36926
test plan
- add a group membership in a course
- run provisioning report on a sub account for course
- it should include the membership
Change-Id: I97840acbe72863a0ef0544e36395e9da63478588
Reviewed-on: https://gerrit.instructure.com/112051
Tested-by: Jenkins
Reviewed-by: Cody Cutrer <cody@instructure.com>
QA-Review: Jeremy Putnam <jeremyp@instructure.com>
Product-Review: Rob Orton <rob@instructure.com>