def test_update_track_elements(self): self.asset.update_track_elements([], []) self.assertEqual(SequenceMediaElement.objects.count(), 0) self.assertEqual(SequenceTextElement.objects.count(), 0) media_track = [] for i in range(3): e = SequenceMediaElementFactory(sequence_asset=self.asset) media_track.append({ 'start_time': i, 'end_time': i + 0.5, 'media': e.media, }) text_track = [] for i in range(4): e = SequenceTextElementFactory(sequence_asset=self.asset) text_track.append({ 'start_time': i, 'end_time': i + 0.5, 'text': 'text {}'.format(i), }) self.asset.update_track_elements(media_track, text_track) self.assertEqual(SequenceMediaElement.objects.count(), 3) self.assertEqual(SequenceTextElement.objects.count(), 4) el0 = SequenceTextElement.objects.filter(text='text 0').first() self.assertEqual(el0.start_time, 0) self.assertEqual(el0.end_time, 0.5) self.assertEqual(el0.sequence_asset, self.asset)
def test_sequence(self): sa = SequenceAssetFactory(spine=self.note) ProjectSequenceAssetFactory(project=self.project, sequence_asset=sa) SequenceMediaElementFactory(sequence_asset=sa, media=self.note2) self.update_references() indicies = DiscussionIndex.objects.all() self.assertEquals(indicies.count(), 2) index = indicies[0] self.assertIsNone(index.participant) self.assertIsNone(index.comment) self.assertEquals(index.collaboration, self.collaboration) self.assertEquals(index.asset, self.asset) self.assertEquals(index.get_type_label(), 'project') self.assertEquals(index.content_object, self.asset) self.assertEquals(index.clump_parent(), self.project) self.assertIsNone(index.get_parent_url()) self.assertEquals(index.body, '') index = indicies[1] self.assertIsNone(index.participant) self.assertIsNone(index.comment) self.assertEquals(index.collaboration, self.collaboration) self.assertEquals(index.asset, self.asset2) self.assertEquals(index.get_type_label(), 'project') self.assertEquals(index.content_object, self.asset2) self.assertEquals(index.clump_parent(), self.project) self.assertIsNone(index.get_parent_url()) self.assertEquals(index.body, '')
def test_retrieve_with_media_elements(self): note = SherdNoteFactory() asset = SequenceAssetFactory(author=self.u, spine=note) e1 = SequenceMediaElementFactory(sequence_asset=asset) e2 = SequenceMediaElementFactory(sequence_asset=asset) e3 = SequenceMediaElementFactory(sequence_asset=asset) r = self.client.get( reverse('sequenceasset-detail', args=(asset.pk,)), format='json' ) self.assertEqual(r.status_code, 200) the_json = loads(r.content) self.assertEqual(the_json['spine']['id'], note.pk) mediaelements = the_json['media_elements'] self.assertEqual(mediaelements[0]['media']['id'], e1.media.pk) self.assertEqual(mediaelements[0]['media_asset'], e1.media.asset.pk) self.assertEqual(mediaelements[1]['media']['id'], e2.media.pk) self.assertEqual(mediaelements[2]['media']['id'], e3.media.pk)
def test_in_sequence_assignment_response(self): res = SherdNoteResource() self.assertFalse(res.in_sequence_assignment_response(self.note1)) self.assertFalse(res.in_sequence_assignment_response(self.note2)) sa = SequenceAssetFactory(spine=self.note1) psa = ProjectSequenceAssetFactory(sequence_asset=sa) self.assertFalse(res.in_sequence_assignment_response(self.note1)) psa.project.date_submitted = datetime.today() psa.project.save() self.assertTrue(res.in_sequence_assignment_response(self.note1)) SequenceMediaElementFactory(sequence_asset=sa, media=self.note2) self.assertTrue(res.in_sequence_assignment_response(self.note2)) request = RequestFactory().get('/?citable=true') request.user = self.student_one request.course = self.sample_course bundle = SherdNoteResource().build_bundle(obj=self.note1, request=request) res.dehydrate(bundle) self.assertEquals(bundle.data['editable'], False) self.assertEquals(bundle.data['citable'], True)
def setUp(self): self.item = SequenceMediaElementFactory()
class SequenceMediaElementTest(TestCase): def setUp(self): self.item = SequenceMediaElementFactory() def test_is_valid_from_factory(self): self.item.full_clean()