Add unit tests for new features

This commit is contained in:
Ramon Wenger 2022-05-25 21:55:17 +02:00
parent 2fe7a684c5
commit 1f7ff13a13
2 changed files with 58 additions and 12 deletions

View File

@ -113,17 +113,6 @@ query SnapshotDetail($id: ID!) {
}
"""
SHARE_SNAPSHOT_MUTATION = """
mutation ShareSnapshot($input: ShareSnapshotInput!) {
shareSnapshot(input: $input) {
success
snapshot {
shared
}
}
}
"""
MODULE_SNAPSHOTS_QUERY = """
query SnapshotQuery($slug: String!) {
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
}
}
}
}
"""

View File

@ -7,7 +7,7 @@ from api.utils import get_object
from books.factories import ModuleFactory, ChapterFactory, ContentBlockFactory
from books.models import Snapshot, ChapterSnapshot
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 objectives.factories import ObjectiveGroupFactory, ObjectiveFactory
from users.factories import SchoolClassFactory
@ -424,3 +424,33 @@ class SnapshotTestCase(SkillboxTestCase):
})
self.assertIsNone(result.errors)
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)