skillbox/server/assignments/tests/test_myassignments.py

153 lines
4.7 KiB
Python

from api.test_utils import DefaultUserTestCase, create_client
from assignments.factories import AssignmentFactory, StudentSubmissionFactory
class MyAssignmentsTest(DefaultUserTestCase):
def setUp(self):
super(MyAssignmentsTest, self).setUp()
self.assignment = AssignmentFactory(owner=self.teacher)
self.submission1 = StudentSubmissionFactory(
student=self.student1, assignment=self.assignment
)
self.submission2 = StudentSubmissionFactory(
student=self.student2, assignment=self.assignment
)
self.client = create_client(self.student1)
def query_my_assignments(self):
query = """
query MyActivityQuery {
myActivity {
edges {
node {
id
title
slug
metaTitle
mySubmissions {
edges {
node {
id
text
assignment {
id
title
}
}
}
}
myAnswers {
edges {
node {
id
survey {
id
title
}
}
}
}
myContentBookmarks {
edges {
node {
id
uuid
note {
id
text
}
contentBlock {
id
type
contents
}
}
}
}
myChapterBookmarks {
edges {
node {
id
note {
id
text
}
chapter {
id
title
description
}
}
}
}
bookmark {
id
note {
id
text
}
module {
id
teaser
metaTitle
intro
}
}
}
}
}
myInstrumentActivity {
edges {
node {
id
title
contents
type {
id
type
category {
id
name
}
}
slug
bookmarks {
id
uuid
note {
id
text
}
}
}
}
}
}
"""
result = self.client.execute(query)
self.assertIsNone(result.get("errors"))
return result
@staticmethod
def get_content(result):
return result.get("data").get("myActivity").get("edges")
def test_my_assignment_query(self):
result = self.query_my_assignments()
contents = self.get_content(result)
self.assertEqual(len(contents), 1)
self.assertEquals(
contents[0]
.get("node")
.get("mySubmissions")
.get("edges")[0]
.get("node")
.get("text"),
self.submission1.text,
)