Fix unit tests, change some properties
This commit is contained in:
parent
928f9027d3
commit
04c850753f
|
|
@ -1,12 +1,12 @@
|
|||
import graphene
|
||||
from graphene import relay
|
||||
from graphene_django.filter import DjangoFilterConnectionField
|
||||
|
||||
from assignments.schema.types import AssignmentNode, StudentSubmissionNode
|
||||
|
||||
|
||||
class AssignmentsQuery(object):
|
||||
assignment = relay.Node.Field(AssignmentNode)
|
||||
assignments = DjangoFilterConnectionField(AssignmentNode)
|
||||
assignments = graphene.List(AssignmentNode)
|
||||
|
||||
|
||||
class StudentSubmissionQuery(object):
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ from graphene_django import DjangoObjectType
|
|||
from graphene_django.filter import DjangoFilterConnectionField
|
||||
|
||||
from assignments.models import StudentSubmission
|
||||
from assignments.schema.types import StudentSubmissionNode
|
||||
from assignments.schema.types import AssignmentNode, StudentSubmissionNode
|
||||
from books.models import Module, Chapter, ContentBlock, RecentModule
|
||||
from books.schema.interfaces.module import ModuleInterface
|
||||
from books.schema.nodes.chapter import ChapterNode
|
||||
|
|
@ -37,6 +37,7 @@ class ModuleNode(DjangoObjectType):
|
|||
my_chapter_bookmarks = DjangoFilterConnectionField(ChapterBookmarkNode)
|
||||
snapshots = graphene.List('books.schema.nodes.SnapshotNode')
|
||||
objective_groups = graphene.List(ObjectiveGroupNode)
|
||||
assignments = graphene.List(AssignmentNode)
|
||||
|
||||
def resolve_chapters(self, info, **kwargs):
|
||||
return Chapter.get_by_parent(self)
|
||||
|
|
@ -90,6 +91,10 @@ class ModuleNode(DjangoObjectType):
|
|||
user = info.context.user
|
||||
return parent.snapshots.filter(Q(creator=user) | Q(Q(creator__team=user.team ) & Q(shared=True)))
|
||||
|
||||
@staticmethod
|
||||
def resolve_assignments(parent: Module, info, **kwargs):
|
||||
return parent.assignments.all()
|
||||
|
||||
|
||||
class RecentModuleNode(DjangoObjectType):
|
||||
class Meta:
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ class NewsTeaserNode(DjangoObjectType):
|
|||
|
||||
|
||||
class AllNewsTeasersQuery(object):
|
||||
news_teasers = DjangoFilterConnectionField(NewsTeaserNode)
|
||||
news_teasers = graphene.List(NewsTeaserNode)
|
||||
|
||||
def resolve_news_teasers(self, info, **kwargs):
|
||||
return NewsTeaser.objects.all().order_by('order_id')
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ query CommentsQuery($id: ID!) {
|
|||
"""
|
||||
result = self.get_client().execute(query, variables={"id": self.room_entry_id})
|
||||
self.assertIsNone(result.get('errors'))
|
||||
comment_node = result.get('data').get('roomEntry').get('comments').get('edges')[0].get('node')
|
||||
comment_node = result.get('data').get('roomEntry').get('comments')[0]
|
||||
self.assertEqual(comment_node['text'], self.text)
|
||||
|
||||
def test_get_comment_for_other_user(self):
|
||||
|
|
@ -63,14 +63,10 @@ query CommentsQuery($id: ID!) {
|
|||
query CommentsQuery($id: ID!) {
|
||||
roomEntry(id: $id) {
|
||||
comments {
|
||||
edges {
|
||||
node {
|
||||
text
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
result = self.get_client(self.student_second_class).execute(query, variables={"id": self.room_entry_id})
|
||||
|
|
|
|||
|
|
@ -30,19 +30,15 @@ class RoomQueryPermission(TestCase):
|
|||
query = '''
|
||||
query {
|
||||
rooms {
|
||||
edges {
|
||||
node {
|
||||
title
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
'''
|
||||
|
||||
result = self.client.execute(query)
|
||||
self.assertIsNone(result.get('errors'))
|
||||
self.assertEqual(len(result.get('data').get('rooms').get('edges')), 1)
|
||||
self.assertEqual(result.get('data').get('rooms').get('edges')[0].get('node').get('title'), self.room1.title)
|
||||
self.assertEqual(len(result.get('data').get('rooms')), 1)
|
||||
self.assertEqual(result.get('data').get('rooms')[0].get('title'), self.room1.title)
|
||||
|
||||
def test_student_should_not_be_able_to_query_rooms_of_other_classes(self):
|
||||
|
||||
|
|
@ -68,19 +64,15 @@ class RoomQueryPermission(TestCase):
|
|||
query = '''
|
||||
query {
|
||||
rooms {
|
||||
edges {
|
||||
node {
|
||||
title
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
'''
|
||||
|
||||
result = self.client.execute(query)
|
||||
self.assertIsNone(result.get('errors'))
|
||||
self.assertEqual(len(result.get('data').get('rooms').get('edges')), 1)
|
||||
self.assertNotEqual(result.get('data').get('rooms').get('edges')[0].get('node').get('title'), modlue_room.title)
|
||||
self.assertEqual(len(result.get('data').get('rooms')), 1)
|
||||
self.assertNotEqual(result.get('data').get('rooms')[0].get('title'), modlue_room.title)
|
||||
|
||||
|
||||
class RoomEntryQueryPermissions(TestCase):
|
||||
|
|
|
|||
|
|
@ -196,16 +196,6 @@ type AssignmentNode implements Node {
|
|||
submission: StudentSubmissionNode
|
||||
}
|
||||
|
||||
type AssignmentNodeConnection {
|
||||
pageInfo: PageInfo!
|
||||
edges: [AssignmentNodeEdge]!
|
||||
}
|
||||
|
||||
type AssignmentNodeEdge {
|
||||
node: AssignmentNode
|
||||
cursor: String!
|
||||
}
|
||||
|
||||
type ChapterBookmarkNode implements Node {
|
||||
user: PrivateUserNode!
|
||||
note: NoteNode
|
||||
|
|
@ -595,7 +585,7 @@ type ModuleNode implements ModuleInterface {
|
|||
heroImage: String!
|
||||
teaser: String!
|
||||
intro: String!
|
||||
assignments(offset: Int, before: String, after: String, first: Int, last: Int): AssignmentNodeConnection!
|
||||
assignments: [AssignmentNode]
|
||||
objectiveGroups: [ObjectiveGroupNode]
|
||||
id: ID!
|
||||
pk: Int
|
||||
|
|
@ -701,16 +691,6 @@ type NewsTeaserNode implements Node {
|
|||
displayDate: String
|
||||
}
|
||||
|
||||
type NewsTeaserNodeConnection {
|
||||
pageInfo: PageInfo!
|
||||
edges: [NewsTeaserNodeEdge]!
|
||||
}
|
||||
|
||||
type NewsTeaserNodeEdge {
|
||||
node: NewsTeaserNode
|
||||
cursor: String!
|
||||
}
|
||||
|
||||
interface Node {
|
||||
id: ID!
|
||||
}
|
||||
|
|
@ -853,7 +833,7 @@ type PublicUserNode implements Node {
|
|||
}
|
||||
|
||||
type Query {
|
||||
newsTeasers(offset: Int, before: String, after: String, first: Int, last: Int, date: Date): NewsTeaserNodeConnection
|
||||
newsTeasers: [NewsTeaserNode]
|
||||
survey(id: ID): SurveyNode
|
||||
surveys(offset: Int, before: String, after: String, first: Int, last: Int): SurveyNodeConnection
|
||||
project(id: ID, slug: String): ProjectNode
|
||||
|
|
@ -863,7 +843,7 @@ type Query {
|
|||
instrumentTypes: [InstrumentTypeNode]
|
||||
studentSubmission(id: ID!): StudentSubmissionNode
|
||||
assignment(id: ID!): AssignmentNode
|
||||
assignments(offset: Int, before: String, after: String, first: Int, last: Int): AssignmentNodeConnection
|
||||
assignments: [AssignmentNode]
|
||||
node(id: ID!): Node
|
||||
topic(slug: String): TopicNode
|
||||
module(slug: String, id: ID): ModuleNode
|
||||
|
|
|
|||
|
|
@ -39,8 +39,6 @@ class MySchoolClasses(TestCase):
|
|||
query {
|
||||
me {
|
||||
schoolClasses {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
name
|
||||
members {
|
||||
|
|
@ -52,14 +50,12 @@ class MySchoolClasses(TestCase):
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
'''
|
||||
|
||||
result = self.client.execute(query)
|
||||
self.assertIsNone(result.get('errors'))
|
||||
|
||||
classes = result.get('data').get('me').get('schoolClasses').get('edges')
|
||||
classes = result.get('data').get('me').get('schoolClasses')
|
||||
self.assertEqual(len(classes), 2)
|
||||
|
||||
for school_class in classes:
|
||||
|
|
@ -75,5 +71,5 @@ class MySchoolClasses(TestCase):
|
|||
|
||||
result = self.client.execute(query)
|
||||
|
||||
old_classes = result.get('data').get('me').get('oldClasses').get('edges')
|
||||
old_classes = result.get('data').get('me').get('oldClasses')
|
||||
self.assertEqual(len(old_classes), 1)
|
||||
|
|
|
|||
Loading…
Reference in New Issue