Test plan:
* enable avatars
* don't have an avatar for a user
* the user's avatarUrl should return null in graphql
Change-Id: Ia47942a32eecedc5c99e0bec91f50e58ad3c1025
Reviewed-on: https://gerrit.instructure.com/165602
Tested-by: Jenkins
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
the classic one breaks in mutations as of 1.8.4
Test plan: specs pass
refs RECNVS-607
Change-Id: I0669bfdcc36ff53232d1c7d787d2bc26c1f6c0f5
Reviewed-on: https://gerrit.instructure.com/165429
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
test plan: go to /graphiql and confirm the useFallback
argument to avatarUrl functions as expected
on a user with no defined avatar
i.e.,
{
legacyNode(_id: 2, type: User) {
... on User {
name
avatar_url:avatarUrl(useFallback:false)
}
}
}
should return null for avatar_url
closes ADMIN-1426
Change-Id: Ic388bd4130fbbb892b37462852be2861d8af5c93
Reviewed-on: https://gerrit.instructure.com/163869
Reviewed-by: Cameron Matheson <cameron@instructure.com>
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Mysti Sadler <mysti@instructure.com>
Tested-by: Jenkins
Product-Review: Jeremy Stanley <jeremy@instructure.com>
closes RECNVS-610
The existing permission basically only allowed users to load themselves,
or admins to load about anyone, but teachers couldn't even load their
own students.
Test plan:
- users should be able to load users they have permission to view via
the top-level node/legacyNode fields
Change-Id: Ib9cfa750d7797253e678b057fc19cc2add4b39e8
Reviewed-on: https://gerrit.instructure.com/163605
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
refs RECNVS-553
Test plan:
* query for grading period on the grades type
Change-Id: I22802e4391fb0e546bbd70182105ff4c4c3b5945
Reviewed-on: https://gerrit.instructure.com/162813
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Jenkins
Product-Review: Cameron Matheson <cameron@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
the REST api doesn't expose these ids, so graphql originally followed
suit, but having these ids will make writing tests easier.
Test plan:
* query for _id on submission objects
Change-Id: I2b09cf691672f7f98e5c5e92ea05d46df5b0af30
Reviewed-on: https://gerrit.instructure.com/160924
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
QA-Review: Cameron Matheson <cameron@instructure.com>
Tested-by: Jenkins
closes RECNVS-545
Test plan:
* post some graphql queries using graphiql or the command-line:
* some metrics should be recorded (but NOT operation name or query
md5)
* load student context cards in canvas
* all graphql metrics should be recorded
Change-Id: Ia639e5cbe815873ae5b68998af51f68bdc2fd8ab
Reviewed-on: https://gerrit.instructure.com/159651
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-410
this ensures the access to assignments between course and assignment_group
behave the same
Test plan:
* set up a course in a term with grading periods
* make assignments in all of the grading periods
* in graphql, an AssignmentGroup's assignmentsConnection should return
assignments from the curreng grading period
* you can specify a different grading period with the filter argument
to retrieve other assignments
Change-Id: I1a9dbc506db4d0f4fffdae90427f0bdd92cdeea8
Reviewed-on: https://gerrit.instructure.com/154587
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-505
Test plan:
querying for the id of any object should return an opaque identifier
(it should different from that object's _id)
Change-Id: I738fa631915135df03e7e381f0a41d92a7813e06
Reviewed-on: https://gerrit.instructure.com/155688
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-409
Test plan:
* have assignments in a course locked for the following reasons:
- assignment locked_at
- assignment unlocked_at
- locked quiz
- locked discussion
- locked wiki page
- locked module
* check that the lockInfo object on the assignment accurately reports
if the assignment is locked and references the proper lockedObject
Change-Id: Ifcfa5bb130b16a2f392f1ca05239e085b961fc9c
Reviewed-on: https://gerrit.instructure.com/150245
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-457
Test plan:
* retrieve wiki page(s) using the graphql node or legacyNode field
Change-Id: I43310803cf74139a6527ba10f628d1bc7a8a21c1
Reviewed-on: https://gerrit.instructure.com/150759
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Tested-by: Jenkins
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-456
Test plan:
Retrieve modules from the graphql api using the node (or legacyNode)
field
Change-Id: I891b7c0cf5160186db68da0230aed5ffd2a75f13
Reviewed-on: https://gerrit.instructure.com/150530
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Tested-by: Jenkins
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-411
Test plan:
* have active, inactive, and concluded users in a course
* make sure you can view the student context card for all users
Change-Id: Iac2de96944ee0cb0fc82fba78698283582842d70
Reviewed-on: https://gerrit.instructure.com/147897
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
refs RECNVS-411
Test plan:
use the enrollmentStates filter on the Course usersConnection to
filter the set of users that are returned
Change-Id: Ie2faf4a50efdb97db93c24114a112cf5345b00cc
Reviewed-on: https://gerrit.instructure.com/147888
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Jonathan Featherstone <jfeatherstone@instructure.com>
closes RECNVS-407
Test plan:
* add lock/unlock dates to assignments (some of these should be
overridden)
* make sure graphql returns the proper data
Change-Id: I3217e5762c7693b9417cf472b39b2139a40d2771
Reviewed-on: https://gerrit.instructure.com/145968
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-278
Test plan:
* set up a course with grading periods
* the Course assignmentsConnection will only return assigments due in
the current grading period by default (you can specify alternate
grading periods with the `filter` argument).
Change-Id: I9a0237bb38ebea0d5ec3405b2ad2769b3bd39ab2
Reviewed-on: https://gerrit.instructure.com/143732
Reviewed-by: Michael Jasper <mjasper@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Tested-by: Jenkins
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-376
Test plan:
* have accounts/courses on multiple shards
* make sure you can retrieve objects from multiple shards in one query
Change-Id: I8428345e741ed5198c29d32fb70d57248ec2aca4
Reviewed-on: https://gerrit.instructure.com/145423
Reviewed-by: Michael Jasper <mjasper@instructure.com>
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-308
Test plan:
* set up assignments with overrides in a variety of situations
* assignment dates should be overridden appropriately
* assignment due dates are *not* overridden when enumerating
assignmentOverrides
Change-Id: Iefec250bbcf095fb40cfb3b204f3521676e0d9f9
Reviewed-on: https://gerrit.instructure.com/142505
Tested-by: Jenkins
Reviewed-by: Keith T. Garner <kgarner@instructure.com>
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-325
Test plan:
* do something to monitor statsd traffic (maybe
`nc -kul 8125`?)
* queries written in graphiql should not be instrumented
* student context card queries should be logged
Change-Id: Ie86075b739df36e49b5f9ebcf320e50f8c140ecc
Reviewed-on: https://gerrit.instructure.com/141965
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-275
Test plan:
* set up a course with a late policy
* turn submissions in late and grade them
* the graphql field *deductedPoints* should correspond to how many
points were subtracted.
* enteredScore/enteredGrade should reflect the scores before late
policy application (score/grade should include late policy
deductions)
Change-Id: I81d89b84c6d847b50373bd47c7f1c70c6f839e07
Reviewed-on: https://gerrit.instructure.com/141119
Tested-by: Jenkins
Reviewed-by: Jonathan Featherstone <jfeatherstone@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-277
Test plan:
- set up a course with submissions in a variety of states (graded /
submitted / unsubmitted)
- filter the list of submissions returned in graphql with the new
filter: argument on submissionsConnection
Change-Id: I0c0e8afd7a69e7d6a75b56efbde79265582ed695
Reviewed-on: https://gerrit.instructure.com/140695
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Reviewed-by: Michael Jasper <mjasper@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-270
Test plan:
* fetch enrollments for users in a variety of workflow_states
* the courseId argument is now optional (so make sure it works with
and without)
Change-Id: I0fcb593c78003fba9e7705a869ec3e428482aa16
Reviewed-on: https://gerrit.instructure.com/139647
Tested-by: Jenkins
QA-Review: Collin Parrish <cparrish@instructure.com>
Reviewed-by: Michael Jasper <mjasper@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
refs RECNVS-270
Test plan:
* make user(s) in a course inactive
* make sure they show up in the course usersConnection
Change-Id: Iffd24c8e307298406a0eaa5b99d055234da9ada5
Reviewed-on: https://gerrit.instructure.com/139038
Tested-by: Jenkins
Reviewed-by: Michael Jasper <mjasper@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-274
Test plan:
* use graphql to view users' email addresses
* only teachers admins should be able to see email addresses
Change-Id: Id9693ca1a7cc82641ece8be24c9b2585cfae71d6
Reviewed-on: https://gerrit.instructure.com/139580
Tested-by: Jenkins
Reviewed-by: Michael Jasper <mjasper@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-27
Test plan:
* create different types of overrides for assignment(s)
* make sure you can view the overrides with graphql
Change-Id: I557e1e8b26f8ead6c26bbddb5e09fd5ac425d421
Reviewed-on: https://gerrit.instructure.com/138381
Tested-by: Jenkins
Reviewed-by: Michael Jasper <mjasper@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
closes RECNVS-252
Test plan:
* create groups for a course
* retrieve those groups (and their members) using the course's
groupsConnection field
Change-Id: I446001385f185e6205e1758c73415f0f06456106
Reviewed-on: https://gerrit.instructure.com/137920
Tested-by: Jenkins
Reviewed-by: Michael Jasper <mjasper@instructure.com>
QA-Review: Collin Parrish <cparrish@instructure.com>
Product-Review: Cameron Matheson <cameron@instructure.com>
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>