Ejemplo n.º 1
0
    def test_posts_success(self):
        # create user posts
        for i in range(4):
            get_mock_post(author=self.user).save()

        # create other posts
        for i in range(6):
            get_mock_post().save()

        response = self.client.get('/user/{}/posts'.format(str(self.user.id)))
        assert response.status_code == 200

        # ensure only posts for specified user are returned
        posts = json.loads(response.get_data(as_text=True))
        assert len(posts) == 4
Ejemplo n.º 2
0
    def test_get_comments_success(self):
        # create post and comments
        post = get_mock_post().save()
        for i in range(4):
            get_mock_comment(post=post).save()

        # create another post and comments
        another_post = get_mock_post().save()
        for i in range(6):
            get_mock_comment(post=another_post).save()

        response = self.client.get('/post/{}/comments'.format(str(post.id)))

        # ensure only comments for specified post are returned
        comments = json.loads(response.get_data(as_text=True))
        assert len(comments) == 4

        assert response.status_code == 200
Ejemplo n.º 3
0
    def test_latest_success(self):
        # create posts
        for i in range(16):
            get_mock_post().save()

        # assert that we get first page of results
        response = self.client.get('/post/latest?limit=10&skip=0')

        posts = json.loads(response.get_data(as_text=True))
        assert len(posts) == 10

        assert response.status_code == 200

        # assert that we get the second page of results
        response = self.client.get('/post/latest?limit=10&skip=10')

        posts = json.loads(response.get_data(as_text=True))
        assert len(posts) == 6

        assert response.status_code == 200
Ejemplo n.º 4
0
    def test_search_success(self, mock_search_posts):
        term = 'python'

        # create posts containing search term
        mocked_posts = []
        for i in range(4):
            post = get_mock_post()
            post.content = term
            post.save()
            mocked_posts.append(post)

        mock_search_posts.return_value = mocked_posts

        # create other posts
        for i in range(6):
            get_mock_post().save()

        response = self.client.get('/search?terms={}'.format(term),
                                   headers={'accept': 'application/json'})
        assert response.status_code == 200

        # ensure only posts containing specified term are returned
        posts = json.loads(response.get_data(as_text=True))
        assert len(posts) == 4
Ejemplo n.º 5
0
 def test_delete_success(self):
     post = get_mock_post(author=self.user).save()
     response = self.client.post('/post/{}/delete'.format(str(post.id)))
     assert Post.objects(id=post.id).first() is None
     assert response.status_code == 302
Ejemplo n.º 6
0
 def test_delete_GET(self):
     post = get_mock_post(author=self.user).save()
     response = self.client.get('/post/{}/delete'.format(str(post.id)))
     assert response.status_code == 200
Ejemplo n.º 7
0
 def test_settings_success(self):
     post = get_mock_post(author=self.user).save()
     response = self.client.get('/post/{}/settings'.format(str(post.id)))
     assert response.status_code == 200
Ejemplo n.º 8
0
 def test_create_comment_text_length_equal_to_maximum(self):
     post = get_mock_post().save()
     data = {'text': random_string(500)}
     self.assert_create_comment_successful(post, data)
Ejemplo n.º 9
0
 def test_create_content_length_equal_to_maximum(self):
     post = get_mock_post(author=self.user).save()
     data = self.get_mock_post_data()
     data['content'] = random_string(10_000)
     self.assert_update_successful(str(post.id), data)
Ejemplo n.º 10
0
 def test_update_content_too_long(self):
     post = get_mock_post(author=self.user).save()
     data = self.get_mock_post_data()
     data['content'] = random_string(10_001)
     self.assert_update_unsuccessful(str(post.id), data)
Ejemplo n.º 11
0
 def test_update_no_content(self):
     post = get_mock_post(author=self.user).save()
     data = self.get_mock_post_data()
     data['content'] = ''
     self.assert_update_unsuccessful(str(post.id), data)
Ejemplo n.º 12
0
 def test_update_invalid_image_url(self):
     post = get_mock_post(author=self.user).save()
     data = self.get_mock_post_data()
     data['image_url'] = 'invalid'
     self.assert_update_unsuccessful(str(post.id), data)
Ejemplo n.º 13
0
 def test_update_lead_paragraph_length_equal_to_maximum(self):
     post = get_mock_post(author=self.user).save()
     data = self.get_mock_post_data()
     data['lead_paragraph'] = random_string(500)
     self.assert_update_successful(str(post.id), data)
Ejemplo n.º 14
0
 def test_update_lead_paragraph_too_long(self):
     post = get_mock_post(author=self.user).save()
     data = self.get_mock_post_data()
     data['lead_paragraph'] = random_string(501)
     self.assert_update_unsuccessful(str(post.id), data)
Ejemplo n.º 15
0
 def test_update_title_length_equal_to_maximum(self):
     post = get_mock_post(author=self.user).save()
     data = self.get_mock_post_data()
     data['title'] = random_string(16)
     self.assert_update_successful(str(post.id), data)
Ejemplo n.º 16
0
 def test_create_comment_no_text(self):
     post = get_mock_post().save()
     data = self.get_mock_comment_data()
     data['text'] = ''
     self.assert_create_comment_unsuccessful(post, data)
Ejemplo n.º 17
0
 def test_create_comment_text_too_long(self):
     post = get_mock_post().save()
     data = self.get_mock_comment_data()
     data['text'] = random_string(501)
     self.assert_create_comment_unsuccessful(post, data)
Ejemplo n.º 18
0
 def test_update_success(self):
     post = get_mock_post(author=self.user).save()
     data = self.get_mock_post_data()
     self.assert_update_successful(str(post.id), data)
Ejemplo n.º 19
0
 def test_create_comment_success(self):
     post = get_mock_post().save()
     data = {'text': random_string(7)}
     self.assert_create_comment_successful(post, data)
Ejemplo n.º 20
0
 def test_delete_sign_in_required(self):
     sign_out(self.client)
     post = get_mock_post(author=self.user).save()
     response = self.client.get('/post/{}/delete'.format(str(post.id)))
     assert response.status_code == 302
Ejemplo n.º 21
0
 def test_delete_not_the_author(self):
     post = get_mock_post().save()
     response = self.client.get('/post/{}/delete'.format(str(post.id)))
     assert response.status_code == 302
Ejemplo n.º 22
0
 def test_show_success(self):
     post = get_mock_post().save()
     response = self.client.get('/post/{}/show'.format(str(post.id)))
     assert response.status_code == 200