Fix content blocks created by applying a snapshot
This commit is contained in:
parent
b26c9c07f5
commit
9c82dc2bf4
|
|
@ -135,7 +135,8 @@ class ContentBlockSnapshot(ContentBlock):
|
||||||
type=self.type,
|
type=self.type,
|
||||||
title=self.title,
|
title=self.title,
|
||||||
owner=owner,
|
owner=owner,
|
||||||
original_creator=self.original_creator
|
original_creator=self.original_creator,
|
||||||
|
user_created=True
|
||||||
)
|
)
|
||||||
self.add_sibling(instance=cb, pos='right')
|
self.add_sibling(instance=cb, pos='right')
|
||||||
# some wagtail magic
|
# some wagtail magic
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,10 @@ class CreateSnapshotTestCase(SkillboxTestCase):
|
||||||
self.assertEqual(content_block['title'], title)
|
self.assertEqual(content_block['title'], title)
|
||||||
self.assertEqual(content_block['hidden'], hidden)
|
self.assertEqual(content_block['hidden'], hidden)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def graphene_client(self):
|
||||||
|
return self.get_client()
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.createDefault()
|
self.createDefault()
|
||||||
self.client = self.get_client()
|
self.client = self.get_client()
|
||||||
|
|
@ -282,6 +286,42 @@ class CreateSnapshotTestCase(SkillboxTestCase):
|
||||||
self.assertTrue(self.skillbox_class.name not in [sc['name'] for sc in cb3['visibleFor']])
|
self.assertTrue(self.skillbox_class.name not in [sc['name'] for sc in cb3['visibleFor']])
|
||||||
self.assertTrue(self.skillbox_class.name not in [sc['name'] for sc in cb4['visibleFor']])
|
self.assertTrue(self.skillbox_class.name not in [sc['name'] for sc in cb4['visibleFor']])
|
||||||
|
|
||||||
|
def test_create_apply_view_snapshot(self):
|
||||||
|
result = self.graphene_client.execute(MODULE_QUERY, variables={
|
||||||
|
'slug': self.module.slug
|
||||||
|
})
|
||||||
|
self.assertIsNone(result.get('errors'))
|
||||||
|
chapter = result['data']['module']['chapters'][0]
|
||||||
|
self.assertEqual(len(chapter['contentBlocks']), 4)
|
||||||
|
|
||||||
|
result = self.graphene_client.execute(CREATE_SNAPSHOT_MUTATION, variables={
|
||||||
|
'input': {
|
||||||
|
'module': self.slug,
|
||||||
|
'selectedClass': to_global_id('SchoolClassNode', self.skillbox_class.pk),
|
||||||
|
}
|
||||||
|
})
|
||||||
|
self.assertIsNone(result.get('errors'))
|
||||||
|
snapshot_id = result['data']['createSnapshot']['snapshot']['id']
|
||||||
|
|
||||||
|
teacher2 = User.objects.get(username='teacher2')
|
||||||
|
teacher2_client = self.get_client(user=teacher2)
|
||||||
|
school_class_name = 'second_class'
|
||||||
|
second_class = SchoolClass.objects.get(name=school_class_name)
|
||||||
|
result = teacher2_client.execute(APPLY_SNAPSHOT_MUTATION, variables={
|
||||||
|
'input': {
|
||||||
|
'snapshot': snapshot_id,
|
||||||
|
'selectedClass': to_global_id('SchoolClassNode', second_class.pk),
|
||||||
|
}
|
||||||
|
})
|
||||||
|
self.assertIsNone(result.get('errors'))
|
||||||
|
|
||||||
|
result = self.graphene_client.execute(MODULE_QUERY, variables={
|
||||||
|
'slug': self.module.slug
|
||||||
|
})
|
||||||
|
self.assertIsNone(result.get('errors'))
|
||||||
|
chapter = result['data']['module']['chapters'][0]
|
||||||
|
self.assertEqual(len(chapter['contentBlocks']), 4)
|
||||||
|
|
||||||
|
|
||||||
class SnapshotTestCase(SkillboxTestCase):
|
class SnapshotTestCase(SkillboxTestCase):
|
||||||
def setUp(self) -> None:
|
def setUp(self) -> None:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue