Source code for radioco.apps.api.tests.test_radiocom_api

import datetime

import mock
import pytz
from rest_framework import status
from rest_framework.test import APITestCase

from radioco.apps.programmes.models import Programme
from radioco.apps.radioco.test_utils import TestDataMixin


[docs]def mock_now(): return pytz.utc.localize(datetime.datetime(2015, 1, 6, 14, 30, 0))
[docs]class TestProgramme(TestDataMixin, APITestCase):
[docs] def setUp(self): self.summer_programme = Programme.objects.create( name='Summer Programme', synopsis='', language='en', current_season=1, _runtime=60, start_date=datetime.date(2015, 6, 1), end_date=datetime.date(2015, 8, 31), )
[docs] def test_programme_in_list(self): response = self.client.get('/api/2/radiocom/programmes') self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertIn( { 'id': self.summer_programme.id, 'name': 'Summer Programme', 'logo_url': 'http://testserver/media/defaults/default-programme-photo.jpg', 'rss_url': 'http://testserver/programmes/summer-programme/rss/', 'description': '' }, response.data)
[docs]class TestTransmission(TestDataMixin, APITestCase): @mock.patch('django.utils.timezone.now', mock_now)
[docs] def test_transmission_now(self): response = self.client.get('/api/2/radiocom/transmissions/now') self.assertEqual(response.status_code, status.HTTP_200_OK) self.assertEqual( response.data, { 'start': '2015-01-06T14:00:00Z', 'end': '2015-01-06T15:00:00Z', 'name': 'Classic hits', 'description': "\n Lorem Ipsum is simply dummy text of the printing and typesetting industry.\n Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,\n when an unknown printer took a galley of type and scrambled it to make a type specimen book.\n ", 'programme_url': 'http://testserver/programmes/classic-hits/', 'logo_url': 'http://testserver/media/defaults/example/radio_5.jpg', 'rss_url': 'http://testserver/programmes/classic-hits/rss/', 'type': 'L', } )