示例#1
0
    def test_link_2_tasks_wrong_task_id(self):
        task = TaskFactory.create(state=Task.STATES.IN_PROGRESS)
        task_to_link = TaskFactory.create(state=Task.STATES.IN_PROGRESS)
        response = self.client.post(
            '/api/v1/tasks/{}/link-task/'.format(task.pk),
            data=json.dumps({'task': task_to_link.pk + 100}),
            content_type='application/json')

        self.assertEqual(response.status_code, 404)
        task.refresh_from_db()
        self.assertIsNone(task.linked_task)
示例#2
0
 def test_parital_update_task_with_done_state(self):
     data = {'description': 'test new description'}
     task = TaskFactory.create(state=Task.STATES.DONE)
     response = self.client.patch('/api/v1/tasks/{}/'.format(task.pk),
                                  data=json.dumps(data),
                                  content_type='application/json')
     self.assertEqual(response.status_code, 404)
示例#3
0
 def test_set_task_done_wrong_task_id(self):
     task = TaskFactory.create(state=Task.STATES.NEW)
     response = self.client.post(
         '/api/v1/tasks/{}/set-done/'.format(task.pk + 10000),
         content_type='application/json')
     self.assertEqual(response.status_code, 404)
     task.refresh_from_db()
     self.assertEqual(task.state, Task.STATES.NEW)
示例#4
0
 def test_set_task_done(self):
     task = TaskFactory.create(state=Task.STATES.IN_PROGRESS)
     response = self.client.post('/api/v1/tasks/{}/set-done/'.format(
         task.pk),
                                 content_type='application/json')
     self.assertEqual(response.status_code, 200)
     task.refresh_from_db()
     self.assertEqual(task.state, Task.STATES.DONE)
     response = response.json()
     self.assertEqual(response['state'], 'done')
示例#5
0
 def test_parital_update_task(self):
     data = {'description': 'test new description'}
     task = TaskFactory.create(state=Task.STATES.NEW)
     response = self.client.patch('/api/v1/tasks/{}/'.format(task.pk),
                                  data=json.dumps(data),
                                  content_type='application/json')
     self.assertEqual(response.status_code, 200)
     response = response.json()
     task.refresh_from_db()
     self.assertEqual(response['description'], data['description'])
     self.assertEqual(response['state'], Task.STATES.NEW)
示例#6
0
 def test_update_task_state(self):
     data = {
         'title': 'new updated task',
         'description': 'test description',
         'state': Task.STATES.IN_PROGRESS
     }
     task = TaskFactory.create(state=Task.STATES.NEW)
     response = self.client.put('/api/v1/tasks/{}/'.format(task.pk),
                                data=json.dumps(data),
                                content_type='application/json')
     self.assertEqual(response.status_code, 200)
     response = response.json()
     task.refresh_from_db()
     self.assertEqual(response['title'], data['title'])
     self.assertEqual(response['description'], data['description'])
     # did not update as it's a read only field
     self.assertEqual(response['state'], Task.STATES.NEW)
示例#7
0
 def test_create_task(self):
     TaskFactory.create()
     self.assertEqual(Task.objects.count(), 1)
示例#8
0
 def test_delete_task(self):
     task = TaskFactory.create()
     response = self.client.delete('/api/v1/tasks/{}/'.format(task.pk),
                                   content_type='application/json')
     self.assertEqual(response.status_code, 204)
     self.assertFalse(Task.objects.filter(pk=task.pk).exists())