Example #1
0
    def test_internal_media_aggregation(self):
        category1 = Category.objects.get(pk=1)
        
        r = Rich(name='Container', slug='container', content='Check this out: %s' % self.category_url)
        r.save()

        am_queryset = AggregateMedia.objects.all()
        self.assertEqual(am_queryset.count(), 1)

        aggregated_object = am_queryset[0]
        self.assertEqual(aggregated_object.url, self.category_url)
        self.assertEqual(aggregated_object.media, category1) # gfk to actual category

        self.assertQuerysetEqual(r.media.all(), am_queryset)
        self.assertQuerysetEqual(r.videos.all(), [])
        self.assertQuerysetEqual(r.photos.all(), am_queryset)
Example #2
0
    def test_media_aggregation(self):
        r = Rich(name='Test',
                 slug='test',
                 content='Hey check this out: %s' % self.youtube_url)
        r.save()

        am_queryset = AggregateMedia.objects.all()
        self.assertEqual(am_queryset.count(), 1)

        aggregated_object = am_queryset[0]
        self.assertEqual(aggregated_object.url, self.youtube_url)
        self.assertEqual(aggregated_object.media,
                         StoredOEmbed.objects.get(match=self.youtube_url))

        self.assertQuerysetEqual(r.media.all(), am_queryset)
        self.assertQuerysetEqual(r.videos.all(), am_queryset)
        self.assertQuerysetEqual(r.photos.all(), [])

        r.content = 'Whoa i changed my mind, you should check this out: %s' % self.flickr_url
        r.save()

        am_queryset = AggregateMedia.objects.all()

        # the youtube one sticks around, but records from the rel table are killed
        self.assertEqual(am_queryset.count(), 2)

        # the flickr embed is there
        aggregated_object = am_queryset.get(url=self.flickr_url)

        # check that the flickr aggregated object GFKs to the StoredOEmbed
        self.assertEqual(aggregated_object.media,
                         StoredOEmbed.objects.get(match=self.flickr_url))

        # the m2m fields should all be cleared out now
        self.assertQuerysetEqual(r.media.all(),
                                 am_queryset.filter(url=self.flickr_url))
        self.assertQuerysetEqual(r.videos.all(), [])
        self.assertQuerysetEqual(r.photos.all(),
                                 am_queryset.filter(url=self.flickr_url))

        r.content = 'Just text please'
        r.save()

        self.assertQuerysetEqual(r.media.all(), [])
        self.assertQuerysetEqual(r.videos.all(), [])
        self.assertQuerysetEqual(r.photos.all(), [])
Example #3
0
    def test_internal_media_aggregation(self):
        category1 = Category.objects.get(pk=1)

        r = Rich(name='Container',
                 slug='container',
                 content='Check this out: %s' % self.category_url)
        r.save()

        am_queryset = AggregateMedia.objects.all()
        self.assertEqual(am_queryset.count(), 1)

        aggregated_object = am_queryset[0]
        self.assertEqual(aggregated_object.url, self.category_url)
        self.assertEqual(aggregated_object.media,
                         category1)  # gfk to actual category

        self.assertQuerysetEqual(r.media.all(), am_queryset)
        self.assertQuerysetEqual(r.videos.all(), [])
        self.assertQuerysetEqual(r.photos.all(), am_queryset)
Example #4
0
    def test_media_aggregation(self):
        r = Rich(name='Test', slug='test', content='Hey check this out: %s' % self.youtube_url)
        r.save()

        am_queryset = AggregateMedia.objects.all()
        self.assertEqual(am_queryset.count(), 1)

        aggregated_object = am_queryset[0]
        self.assertEqual(aggregated_object.url, self.youtube_url)
        self.assertEqual(aggregated_object.media, StoredOEmbed.objects.get(match=self.youtube_url))

        self.assertQuerysetEqual(r.media.all(), am_queryset)
        self.assertQuerysetEqual(r.videos.all(), am_queryset)
        self.assertQuerysetEqual(r.photos.all(), [])

        r.content = 'Whoa i changed my mind, you should check this out: %s' % self.flickr_url
        r.save()

        am_queryset = AggregateMedia.objects.all()

        # the youtube one sticks around, but records from the rel table are killed
        self.assertEqual(am_queryset.count(), 2)

        # the flickr embed is there
        aggregated_object = am_queryset.get(url=self.flickr_url)

        # check that the flickr aggregated object GFKs to the StoredOEmbed
        self.assertEqual(aggregated_object.media, StoredOEmbed.objects.get(match=self.flickr_url))

        # the m2m fields should all be cleared out now
        self.assertQuerysetEqual(r.media.all(), am_queryset.filter(url=self.flickr_url))
        self.assertQuerysetEqual(r.videos.all(), [])
        self.assertQuerysetEqual(r.photos.all(), am_queryset.filter(url=self.flickr_url))