示例#1
0
    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)
示例#2
0
    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, '')
示例#3
0
    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)
示例#4
0
    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)
示例#5
0
 def setUp(self):
     self.item = SequenceMediaElementFactory()
示例#6
0
class SequenceMediaElementTest(TestCase):
    def setUp(self):
        self.item = SequenceMediaElementFactory()

    def test_is_valid_from_factory(self):
        self.item.full_clean()
示例#7
0
 def setUp(self):
     self.item = SequenceMediaElementFactory()
示例#8
0
class SequenceMediaElementTest(TestCase):
    def setUp(self):
        self.item = SequenceMediaElementFactory()

    def test_is_valid_from_factory(self):
        self.item.full_clean()