コード例 #1
0
    def test_order_by(self):
        data = {
            'query': {
                'order_by': '-title'
            }
        }
        res = self.client.post(
            self.uri, json.dumps(data), 'application/json'
        )
        self.assertEqual(res.status_code, 200)
        data = json.loads(res.content)
        posts = data['posts']
        self.assertEqual(posts[0]['title'], 'c')
        self.assertEqual(posts[1]['title'], 'b')
        self.assertEqual(posts[2]['title'], 'a')

        data = {
            'query': {
                'order_by': 'title'
            }
        }
        res = self.client.post(
            self.uri, json.dumps(data), 'application/json'
        )
        self.assertEqual(res.status_code, 200)
        data = json.loads(res.content)
        posts = data['posts']
        self.assertEqual(posts[0]['title'], 'a')
        self.assertEqual(posts[1]['title'], 'b')
        self.assertEqual(posts[2]['title'], 'c')
コード例 #2
0
    def test_limit(self):
        data = {
            'query': {
                'limit': [0, 1]
            }
        }
        res = self.client.post(
            self.uri, json.dumps(data), 'application/json'
        )
        self.assertEqual(res.status_code, 200)
        data = json.loads(res.content)
        # assert returns 1/3 matched posts
        self.assertEqual(len(data['posts']), 1)

        data = {
            'query': {
                'limit': [0, 2]
            }
        }
        res = self.client.post(
            self.uri, json.dumps(data), 'application/json'
        )
        self.assertEqual(res.status_code, 200)
        data = json.loads(res.content)
        # assert returns 2/3 matched posts
        self.assertEqual(len(data['posts']), 2)
コード例 #3
0
    def test_limit(self):
        data = {'query': {'limit': [0, 1]}}
        res = self.client.post(self.uri, json.dumps(data), 'application/json')
        self.assertEqual(res.status_code, 200)
        data = json.loads(res.content)
        # assert returns 1/3 matched posts
        self.assertEqual(len(data['posts']), 1)

        data = {'query': {'limit': [0, 2]}}
        res = self.client.post(self.uri, json.dumps(data), 'application/json')
        self.assertEqual(res.status_code, 200)
        data = json.loads(res.content)
        # assert returns 2/3 matched posts
        self.assertEqual(len(data['posts']), 2)
コード例 #4
0
 def test_exclude(self):
     data = {'query': {'exclude': {'user__pk': 1}}}
     res = self.client.post(self.uri, json.dumps(data), 'application/json')
     self.assertEqual(res.status_code, 200)
     data = json.loads(res.content)
     # assert returns 1/3 matched posts
     self.assertEqual(len(data['posts']), 1)
コード例 #5
0
    def test_order_by(self):
        data = {'query': {'order_by': '-title'}}
        res = self.client.post(self.uri, json.dumps(data), 'application/json')
        self.assertEqual(res.status_code, 200)
        data = json.loads(res.content)
        posts = data['posts']
        self.assertEqual(posts[0]['title'], 'c')
        self.assertEqual(posts[1]['title'], 'b')
        self.assertEqual(posts[2]['title'], 'a')

        data = {'query': {'order_by': 'title'}}
        res = self.client.post(self.uri, json.dumps(data), 'application/json')
        self.assertEqual(res.status_code, 200)
        data = json.loads(res.content)
        posts = data['posts']
        self.assertEqual(posts[0]['title'], 'a')
        self.assertEqual(posts[1]['title'], 'b')
        self.assertEqual(posts[2]['title'], 'c')
コード例 #6
0
 def test_create(self):
     data = {'post': {'title': 'New Book', 'content': '', 'user_id': '1'}}
     uri = reverse('apis:posts')
     res = self.client.post(uri, json.dumps(data), 'application/json')
     self.assertEqual(res.status_code, 200)
     data = json.loads(res.content)
     post = Post.objects.latest('pk')
     self.assertEqual(post.pk, data['post']['id'])
     self.assertEqual(post.title, data['post']['title'])
     self.assertEqual(post.content, data['post']['content'])
     self.assertEqual(post.user.pk, data['post']['user_id'])
コード例 #7
0
    def test_create(self):

        self.client = Client()
        self.client.login(username='******', password='******')

        data = {'post': {'title': 'New Book', 'content': ' ', 'user_id': '1'}}
        uri = reverse('apis:posts')
        res = self.client.post(uri, json.dumps(data), 'application/json')
        self.assertEqual(res.status_code, 403)
        posts = Post.objects.all()
        # assert no new post was created
        self.assertEqual(posts.count(), 3)
コード例 #8
0
 def test_update(self):
     post = Post.objects.all()[0]
     data = {'post': {'title': 'New Book', 'content': '', 'user_id': '1'}}
     uri = reverse('apis:post', kwargs={'pk': post.pk})
     res = self.client.put(uri, json.dumps(data), 'application/json')
     self.assertEqual(res.status_code, 200)
     data = json.loads(res.content)
     post = Post.objects.get(pk=post.pk)
     self.assertEqual(post.pk, data['post']['id'])
     self.assertEqual(post.title, data['post']['title'])
     self.assertEqual(post.content, data['post']['content'])
     self.assertEqual(post.user.pk, data['post']['user_id'])
コード例 #9
0
 def test_create(self):
     data = {'post': {
         'title': 'New Book',
         'content': '',
         'user_id': '1'
     }}
     uri = reverse('apis:posts')
     res = self.client.post(uri, json.dumps(data), 'application/json')
     self.assertEqual(res.status_code, 200)
     data = json.loads(res.content)
     post = Post.objects.latest('pk')
     self.assertEqual(post.pk, data['post']['id'])
     self.assertEqual(post.title, data['post']['title'])
     self.assertEqual(post.content, data['post']['content'])
     self.assertEqual(post.user.pk, data['post']['user_id'])
コード例 #10
0
 def test_exclude(self):
     data = {
         'query': {
             'exclude': {
                 'user__pk': 1
             }
         }
     }
     res = self.client.post(
         self.uri, json.dumps(data), 'application/json'
     )
     self.assertEqual(res.status_code, 200)
     data = json.loads(res.content)
     # assert returns 1/3 matched posts
     self.assertEqual(len(data['posts']), 1)
コード例 #11
0
    def test_create(self):

        self.client = Client()
        self.client.login(username='******', password='******')

        data = {'post': {
            'title': 'New Book',
            'content': ' ',
            'user_id': '1'
        }}
        uri = reverse('apis:posts')
        res = self.client.post(uri, json.dumps(data), 'application/json')
        self.assertEqual(res.status_code, 403)
        posts = Post.objects.all()
        # assert no new post was created
        self.assertEqual(posts.count(), 3)
コード例 #12
0
 def test_update(self):
     post = Post.objects.all()[0]
     data = {'post': {
         'title': 'New Book',
         'content': '',
         'user_id': '1'
     }}
     uri = reverse('apis:post', kwargs={
         'pk': post.pk
     })
     res = self.client.put(uri, json.dumps(data), 'application/json')
     self.assertEqual(res.status_code, 200)
     data = json.loads(res.content)
     post = Post.objects.get(pk=post.pk)
     self.assertEqual(post.pk, data['post']['id'])
     self.assertEqual(post.title, data['post']['title'])
     self.assertEqual(post.content, data['post']['content'])
     self.assertEqual(post.user.pk, data['post']['user_id'])