Add unit tests for new features
This commit is contained in:
parent
2fe7a684c5
commit
1f7ff13a13
|
|
@ -113,17 +113,6 @@ query SnapshotDetail($id: ID!) {
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
|
|
||||||
SHARE_SNAPSHOT_MUTATION = """
|
|
||||||
mutation ShareSnapshot($input: ShareSnapshotInput!) {
|
|
||||||
shareSnapshot(input: $input) {
|
|
||||||
success
|
|
||||||
snapshot {
|
|
||||||
shared
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
"""
|
|
||||||
|
|
||||||
MODULE_SNAPSHOTS_QUERY = """
|
MODULE_SNAPSHOTS_QUERY = """
|
||||||
query SnapshotQuery($slug: String!) {
|
query SnapshotQuery($slug: String!) {
|
||||||
module(slug: $slug) {
|
module(slug: $slug) {
|
||||||
|
|
@ -136,3 +125,30 @@ query SnapshotQuery($slug: String!) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
SHARE_SNAPSHOT_MUTATION = """
|
||||||
|
mutation ShareSnapshot($input: ShareSnapshotInput!) {
|
||||||
|
shareSnapshot(input: $input) {
|
||||||
|
success
|
||||||
|
snapshot {
|
||||||
|
shared
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
UPDATE_SNAPSHOT_MUTATION = """
|
||||||
|
mutation UpdateSnapshot($input: UpdateSnapshotInput!) {
|
||||||
|
updateSnapshot(input: $input) {
|
||||||
|
snapshot {
|
||||||
|
...on SnapshotNode {
|
||||||
|
title
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...on NotOwner {
|
||||||
|
reason
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ from api.utils import get_object
|
||||||
from books.factories import ModuleFactory, ChapterFactory, ContentBlockFactory
|
from books.factories import ModuleFactory, ChapterFactory, ContentBlockFactory
|
||||||
from books.models import Snapshot, ChapterSnapshot
|
from books.models import Snapshot, ChapterSnapshot
|
||||||
from books.tests.queries import MODULE_QUERY, SNAPSHOT_MODULE_QUERY, CREATE_SNAPSHOT_MUTATION, APPLY_SNAPSHOT_MUTATION, \
|
from books.tests.queries import MODULE_QUERY, SNAPSHOT_MODULE_QUERY, CREATE_SNAPSHOT_MUTATION, APPLY_SNAPSHOT_MUTATION, \
|
||||||
MODULE_SNAPSHOTS_QUERY, SHARE_SNAPSHOT_MUTATION
|
MODULE_SNAPSHOTS_QUERY, SHARE_SNAPSHOT_MUTATION, UPDATE_SNAPSHOT_MUTATION
|
||||||
from core.tests.base_test import SkillboxTestCase
|
from core.tests.base_test import SkillboxTestCase
|
||||||
from objectives.factories import ObjectiveGroupFactory, ObjectiveFactory
|
from objectives.factories import ObjectiveGroupFactory, ObjectiveFactory
|
||||||
from users.factories import SchoolClassFactory
|
from users.factories import SchoolClassFactory
|
||||||
|
|
@ -424,3 +424,33 @@ class SnapshotTestCase(SkillboxTestCase):
|
||||||
})
|
})
|
||||||
self.assertIsNone(result.errors)
|
self.assertIsNone(result.errors)
|
||||||
self.assertEqual(len(result.data.get('module').get('snapshots')), 1)
|
self.assertEqual(len(result.data.get('module').get('snapshots')), 1)
|
||||||
|
|
||||||
|
|
||||||
|
def _setup_title_change(self):
|
||||||
|
self.assertIsNone(self.snapshot.title)
|
||||||
|
new_title = 'New Snapshot Title'
|
||||||
|
result = self.get_client().execute(UPDATE_SNAPSHOT_MUTATION, variables={
|
||||||
|
'input': {
|
||||||
|
'id': to_global_id('Snapshot', self.snapshot.id),
|
||||||
|
'title': new_title
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return result
|
||||||
|
|
||||||
|
def test_update_snapshot_title(self):
|
||||||
|
result = self._setup_title_change()
|
||||||
|
self.assertIsNone(result.errors)
|
||||||
|
self.assertEqual(result.data.get('updateSnapshot').get('snapshot').get('title'), 'New Snapshot Title')
|
||||||
|
|
||||||
|
def test_update_snapshot_not_owner_fails(self):
|
||||||
|
self.snapshot.creator = self.teacher2
|
||||||
|
self.snapshot.save()
|
||||||
|
result = self._setup_title_change()
|
||||||
|
self.assertIsNone(result.errors)
|
||||||
|
self.assertEqual(result.data.get('updateSnapshot').get('snapshot').get('reason'), 'Not the owner')
|
||||||
|
|
||||||
|
def test_delete_snapshot(self):
|
||||||
|
self.assertTrue(False)
|
||||||
|
|
||||||
|
def test_delete_snapshot_not_owner_fails(self):
|
||||||
|
self.assertTrue(False)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue