def test_untag_episode(self): self.assertEqual(list(self.episode.get_tag_names(self.user)), []) self.episode.set_tag_names(['micro'], self.user) self.mock_request.data = {'micro': False} response = api.TaggingViewSet().update(self.mock_request, pk=self.episode.pk) self.assertEqual(202, response.status_code) self.assertEqual(list(self.episode.get_tag_names(self.user)), [])
def test_mixed_tagging_truthiness(self): self.assertEqual(list(self.episode.get_tag_names(self.user)), []) self.episode.set_tag_names(['micro'], self.user) self.mock_request.data = {'micro': False, 'inpatient': True} response = api.TaggingViewSet().update(self.mock_request, pk=self.episode.pk) self.assertEqual(['inpatient'], self.episode.get_tag_names(self.user))
def test_tagging_pings_integration(self, transfer): self.assertEqual(self.episode.get_tag_names(self.user), []) self.mock_request.data = {'micro': True} response = api.TaggingViewSet().update(self.mock_request, pk=self.episode.pk) self.assertEqual(202, response.status_code) self.assertEqual(1, transfer.call_count)
def test_tag_episoe_with_id(self): self.assertEqual(list(self.episode.get_tag_names(self.user)), []) self.mock_request.data = {'micro': True, 'id': self.episode.id} response = api.TaggingViewSet().update(self.mock_request, pk=self.episode.pk) self.assertEqual(202, response.status_code) self.assertEqual(list(self.episode.get_tag_names(self.user)), ['micro']) tag = models.Tagging.objects.get() self.assertEqual(tag.created.date(), timezone.now().date()) self.assertEqual(tag.created_by, self.user) self.assertIsNone(tag.updated_by) self.assertIsNone(tag.updated)
def test_tag_nonexistent_episode(self): response = api.TaggingViewSet().update(self.mock_request, pk=56576) self.assertEqual(404, response.status_code)
def test_retrieve_tags(self): self.episode.set_tag_names(['micro'], self.user) response = api.TaggingViewSet().retrieve(self.mock_request, pk=self.episode.pk) self.assertEqual(200, response.status_code) self.assertEqual(True, response.data['micro'])