class TestFlowEventViewSet(TestCase): def setUp(self): self.view_set = views.FlowEventViewSet() self.view_set.format_kwarg = '' self.period = FlowEventFactory() FlowEventFactory(timestamp=TIMEZONE.localize(datetime.datetime(2014, 2, 28))) self.request = Request(HttpRequest()) self.request.__setattr__('user', self.period.user) self.view_set.request = self.request def test_list(self): response = self.view_set.list(self.request) self.assertEqual(1, len(response.data)) self.assertEqual(self.period.id, response.data[0]['id']) def test_perform_create(self): serializer = FlowEventSerializer(data={'timestamp': datetime.datetime(2015, 1, 1)}) serializer.is_valid() self.view_set.perform_create(serializer) self.assertEqual(self.request.user, serializer.instance.user)
class TestFlowEventViewSet(TestCase): def setUp(self): self.view_set = views.FlowEventViewSet() self.view_set.format_kwarg = '' self.period = FlowEventFactory() FlowEventFactory( timestamp=pytz.utc.localize(datetime.datetime(2014, 2, 28))) self.request = Request(HttpRequest()) self.request.__setattr__('user', self.period.user) self.view_set.request = self.request def test_list(self): response = self.view_set.list(self.request) self.assertEqual(1, len(response.data)) self.assertEqual(self.period.id, response.data[0]['id']) def test_perform_create(self): serializer = FlowEventSerializer( data={'timestamp': datetime.datetime(2015, 1, 1)}) serializer.is_valid() self.view_set.perform_create(serializer) self.assertEqual(self.request.user, serializer.instance.user)
def test_list_with_min_timestamp(self): http_request = HttpRequest() http_request.GET = QueryDict(u'min_timestamp=2014-01-05') request = Request(http_request) request.__setattr__('user', self.period.user) self.view_set.kwargs = {'pk': self.request.user.statistics.pk} response = self.view_set.list(request) self.assertEqual(4, len(response.data)) self.assertEqual(28, response.data['average_cycle_length']) self.assertEqual(self.period.timestamp.date(), response.data['first_date']) self.assertEqual(1, response.data['first_day'])
class TestStatisticsViewSet(TestCase): def setUp(self): self.view_set = views.StatisticsViewSet() self.view_set.format_kwarg = '' self.period = FlowEventFactory() self.period2 = FlowEventFactory( timestamp=pytz.utc.localize(datetime.datetime(2014, 2, 28))) self.request = Request(HttpRequest()) self.request.__setattr__('user', self.period.user) self.view_set.request = self.request def test_retrieve_other_user(self): self.view_set.kwargs = {'pk': self.period2.user.statistics.pk} try: self.view_set.retrieve(self.request) self.fail( "Should not be able to retrieve another user's statistics") except Http404: pass @patch('periods.models.today') def test_list_no_params(self, mock_today): mock_today.return_value = pytz.utc.localize( datetime.datetime(2014, 1, 5)) self.view_set.kwargs = {'pk': self.request.user.statistics.pk} response = self.view_set.list(self.request) self.assertEqual(4, len(response.data)) self.assertEqual(28, response.data['average_cycle_length']) self.assertEqual(self.period.timestamp.date(), response.data['first_date']) self.assertEqual(1, response.data['first_day']) def test_list_with_min_timestamp(self): http_request = HttpRequest() http_request.GET = QueryDict(u'min_timestamp=2014-01-05') request = Request(http_request) request.__setattr__('user', self.period.user) self.view_set.kwargs = {'pk': self.request.user.statistics.pk} response = self.view_set.list(request) self.assertEqual(4, len(response.data)) self.assertEqual(28, response.data['average_cycle_length']) self.assertEqual(self.period.timestamp.date(), response.data['first_date']) self.assertEqual(1, response.data['first_day'])
class TestStatisticsViewSet(TestCase): def setUp(self): self.view_set = views.StatisticsViewSet() self.view_set.format_kwarg = '' self.period = FlowEventFactory() self.period2 = FlowEventFactory(timestamp=pytz.utc.localize(datetime.datetime(2014, 2, 28))) self.request = Request(HttpRequest()) self.request.__setattr__('user', self.period.user) self.view_set.request = self.request def test_retrieve_other_user(self): self.view_set.kwargs = {'pk': self.period2.user.statistics.pk} try: self.view_set.retrieve(self.request) self.fail("Should not be able to retrieve another user's statistics") except Http404: pass @patch('periods.models.today') def test_list_no_params(self, mock_today): mock_today.return_value = pytz.utc.localize(datetime.datetime(2014, 1, 5)) self.view_set.kwargs = {'pk': self.request.user.statistics.pk} response = self.view_set.list(self.request) self.assertEqual(4, len(response.data)) self.assertEqual(28, response.data['average_cycle_length']) self.assertEqual(self.period.timestamp.date(), response.data['first_date']) self.assertEqual(1, response.data['first_day']) def test_list_with_min_timestamp(self): http_request = HttpRequest() http_request.GET = QueryDict(u'min_timestamp=2014-01-05') request = Request(http_request) request.__setattr__('user', self.period.user) self.view_set.kwargs = {'pk': self.request.user.statistics.pk} response = self.view_set.list(request) self.assertEqual(4, len(response.data)) self.assertEqual(28, response.data['average_cycle_length']) self.assertEqual(self.period.timestamp.date(), response.data['first_date']) self.assertEqual(1, response.data['first_day'])