def test_can_retrieve_reactions_emoji_groups(self): """ should be able to retrieve post reaction emoji groups """ user = make_user() headers = make_authentication_headers_for_user(user) group_ids = [] amount_of_groups = 4 for x in range(amount_of_groups): group = make_emoji_group(is_reaction_group=True) group_ids.append(group.pk) url = self._get_url() response = self.client.get(url, **headers) self.assertTrue(response.status_code, status.HTTP_200_OK) response_groups = json.loads(response.content) response_groups_ids = [group['id'] for group in response_groups] self.assertEqual(len(response_groups), len(group_ids)) for group_id in group_ids: self.assertIn(group_id, response_groups_ids)
def test_cannot_retrieve_non_reactions_emoji_groups(self): """ should not able to retrieve non post reaction emoji groups """ user = make_user() headers = make_authentication_headers_for_user(user) group_ids = [] amount_of_groups = 4 for x in range(amount_of_groups): group = make_emoji_group(is_reaction_group=False) group_ids.append(group.pk) url = self._get_url() response = self.client.get(url, **headers) self.assertTrue(response.status_code, status.HTTP_200_OK) response_groups = json.loads(response.content) self.assertEqual(len(response_groups), 0)
def test_cannot_react_to_foreign_post_comment_with_non_reaction_emoji(self): """ should not be able to react in a post comment with a non reaction emoji group and return 400 """ user = make_user() headers = make_authentication_headers_for_user(user) post = user.create_public_post(text=make_fake_post_text()) post_comment = user.comment_post(post=post, text=make_fake_post_comment_text()) emoji_group = make_emoji_group() post_comment_reaction_emoji_id = make_emoji(group=emoji_group).pk data = self._get_create_post_comment_reaction_request_data(post_comment_reaction_emoji_id) url = self._get_url(post=post, post_comment=post_comment) response = self.client.put(url, data, **headers) self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) self.assertTrue( PostCommentReaction.objects.filter(post_comment_id=post_comment.pk, emoji_id=post_comment_reaction_emoji_id, reactor_id=user.pk).count() == 0)