def test_category_content(self): category_details = { 'title': 'Nice things', 'description': 'Chit chat blah blah' } category = CategoryFactory.create(**category_details) category_content = { 'title': 'category content title', 'description': 'category content description', 'video_url': 'http://vimeo.com', 'link_text': 'Find out more...', 'link_url': 'http://link.com', 'category': category } CategoryContentFactory.create(**category_content) url = reverse('category-detail', kwargs={'slug': category.slug}) response = self.client.get(url) self.assertEquals(response.status_code, status.HTTP_200_OK) data = json.loads(response.content) self.assertEquals(data['contents'][0]['title'], 'category content title') self.assertEquals(data['contents'][0]['description'], 'category content description') self.assertEquals(data['contents'][0]['video_url'], 'http://vimeo.com') self.assertEquals(data['contents'][0]['link_text'], 'Find out more...') self.assertEquals(data['contents'][0]['link_url'], 'http://link.com') self.assertTrue( all(field in ('title', 'description', 'image', 'video_url', 'link_text', 'link_url', 'sequence') for field in list(data['contents'][0].keys())))
def test_partner_project(self): category_details = { 'title': 'Nice things', 'description': 'Chit chat blah blah' } cat = CategoryFactory.create(**category_details) cat.set_current_language('nl') cat.title = 'Leuke dingen' cat.save() url = reverse('category-list') response = self.client.get(url, HTTP_X_APPLICATION_LANGUAGE='en') self.assertEquals(response.status_code, status.HTTP_200_OK) data = json.loads(response.content) self.assertEquals(len(data), 1) self.assertEquals(data[0]['title'], 'Nice things') # Confirm that we can retrieve dutch titles too. response = self.client.get(url, HTTP_X_APPLICATION_LANGUAGE='nl') self.assertEquals(response.status_code, status.HTTP_200_OK) data = json.loads(response.content) self.assertEquals(len(data), 1) self.assertEquals(data[0]['title'], 'Leuke dingen')
def test_partner_project(self): cat = { 'title': 'Nice things', 'description': 'Chit chat blah blah' } CategoryFactory.create(**cat) url = reverse('category-list') response = self.client.get(url) self.assertEquals(response.status_code, status.HTTP_200_OK) data = json.loads(response.content) self.assertEquals(len(data), 1) self.assertEquals(data[0]['title'], cat['title']) # Confirm that we can restrieve dutch titles too. response = self.client.get(url, {'language': 'nl'}) self.assertEquals(response.status_code, status.HTTP_200_OK) data = json.loads(response.content) self.assertEquals(len(data), 1) self.assertEquals(data[0]['title'], cat['title'])
def test_vote_on_second_project_in_same_cateogry(self): category = CategoryFactory.create() self.project1.categories = [category] self.project1.save() self.project2.categories = [category] self.project2.save() self.client.post(self.vote_url, {'project': self.project1.slug}, token=self.user_token) response = self.client.post(self.vote_url, {'project': self.project2.slug}, token=self.user_token) self.assertEqual(response.status_code, 400) self.assertEqual( unicode(response.data['non_field_errors'][0]), u'You already voted.' )
def test_vote_already_votes_twice(self): category = CategoryFactory.create() self.project1.categories = [category] self.project1.save() self.project2.categories = [category] self.project2.save() self.project3.categories = [category] self.project3.save() VoteFactory.create(voter=self.user, project=self.project1) VoteFactory.create(voter=self.user, project=self.project2) response = self.client.post(self.vote_url, {'project': self.project3.slug}, token=self.user_token) self.assertEqual(response.status_code, 400) self.assertEqual( unicode(response.data['non_field_errors'][0]), u'You already voted.' )
def test_save_slug(self): category = CategoryFactory(title='test-title') category.save() self.assertEqual(category.slug, 'test-title')