def trending_feed(request): events = get_featured_events( None, # across all channels request.user, length=settings.TRENDING_ROKU_COUNT, ) return render_channel_events(events, request)
def test_get_featured_events(self): channels = Channel.objects.filter( slug=settings.DEFAULT_CHANNEL_SLUG ) user = User.objects.create( username='******', ) events = get_featured_events(channels, user) eq_(events, []) event = Event.objects.get(title='Test event') # must be archived some time ago yesterday = timezone.now() - datetime.timedelta(days=1) assert event.archive_time < yesterday # must be scheduled assert event.status == Event.STATUS_SCHEDULED # must be in the main channel assert event.channels.filter(slug=settings.DEFAULT_CHANNEL_SLUG) # must have some hits EventHitStats.objects.create( event=event, total_hits=100, shortcode='abc123' ) # finally! events = get_featured_events(channels, user) # because it's cacjed eq_(events, []) # however... cache.clear() events = get_featured_events(channels, user) eq_(events, [event]) # should work even if the event is processing event.status = Event.STATUS_PROCESSING event.save() cache.clear() events = get_featured_events(channels, user) eq_(events, [event]) # but not if it's removed event.status = Event.STATUS_REMOVED event.save() cache.clear() events = get_featured_events(channels, user) eq_(events, [])
def test_get_featured_events(self): channels = Channel.objects.filter(slug=settings.DEFAULT_CHANNEL_SLUG) user = User.objects.create(username='******', ) events = get_featured_events(channels, user) eq_(events, []) event = Event.objects.get(title='Test event') # must be archived some time ago yesterday = timezone.now() - datetime.timedelta(days=1) assert event.archive_time < yesterday # must be scheduled assert event.status == Event.STATUS_SCHEDULED # must be in the main channel assert event.channels.filter(slug=settings.DEFAULT_CHANNEL_SLUG) # must have some hits EventHitStats.objects.create(event=event, total_hits=100, shortcode='abc123') # finally! events = get_featured_events(channels, user) # because it's cacjed eq_(events, []) # however... cache.clear() events = get_featured_events(channels, user) eq_(events, [event]) # should work even if the event is processing event.status = Event.STATUS_PROCESSING event.save() cache.clear() events = get_featured_events(channels, user) eq_(events, [event]) # but not if it's removed event.status = Event.STATUS_REMOVED event.save() cache.clear() events = get_featured_events(channels, user) eq_(events, [])