コード例 #1
0
 def setUp(self):
     self.factory = RequestFactory()
     self.user = User.objects.create_user(username='******', password='******')
     self.task = Task(name='Test task', owner=self.user, is_done=False)
     self.task.save()
     self.done_task = Task(name='Test done task', owner=self.user, is_done=True, marked_done_by=self.user)
     self.done_task.save()
コード例 #2
0
ファイル: task_crud.py プロジェクト: carlosap256/task_list
 def _edit_task(self, task: Task):
     if task.can_modify(self.user):
         task.name = self.task_name
         task.save()
         return HttpResponse()
     else:
         return HttpResponseForbidden()
コード例 #3
0
    def setUp(self):
        self.user1 = User.objects.create_user('test_user1', password='******')
        self.user1.save()
        user2 = User.objects.create_user('test_user2', password='******')
        user2.save()

        Task(name='Test task 1', owner=self.user1, is_done=False).save()
        Task(name='Test task 2', owner=self.user1, is_done=False).save()
        Task(name='Test task 3', owner=self.user1, is_done=True, marked_done_by=self.user1).save()

        Task(name='Test task 1a', owner=user2, is_done=False).save()
        Task(name='Test task 2b', owner=user2, is_done=False).save()
コード例 #4
0
def index():
    if request.method == 'POST':
        name = request.form['name']
        if not name:
            flash('Task name is required.')
        else:
            db.session.add(Task(name=name))
            db.session.commit()

    tasks = Task.query.all()
    return render_template('task_list/index.html', tasks=tasks)
コード例 #5
0
def index():
    if request.method == 'POST':
        name = request.form['name']
        if not name:
            flash('Task name is required.')
        else:
            db.session.add(Task(name=name))
            db.session.commit()
            cache.delete_memoized(get_all_tasks)
            cache.delete('view//')

    tasks = get_all_tasks()
    return render_template('task_list/index.html', tasks=tasks)
コード例 #6
0
ファイル: test_set.py プロジェクト: carlosap256/task_list
 def _create_task(self, name, owner, is_done) -> None:
     if is_done:
         Task(name=name, owner=owner, is_done=True,
              marked_done_by=owner).save()
     else:
         Task(name=name, owner=owner, is_done=False).save()
コード例 #7
0
ファイル: task_crud.py プロジェクト: carlosap256/task_list
 def _mark_as_undone(self, task: Task):
     task.is_done = False
     task.marked_done_by = None
     task.save()
     return HttpResponse()
コード例 #8
0
ファイル: task_crud.py プロジェクト: carlosap256/task_list
 def _mark_as_done(self, task: Task):
     task.is_done = True
     task.marked_done_by = self.user
     task.save()
     return HttpResponse()
コード例 #9
0
ファイル: task_crud.py プロジェクト: carlosap256/task_list
 def _delete_task(self, task: Task):
     if task.can_modify(self.user):
         task.delete()
         return HttpResponse()
     else:
         return HttpResponseForbidden()
コード例 #10
0
ファイル: task_crud.py プロジェクト: carlosap256/task_list
 def _create_task(self):
     Task(name=self.task_name, owner=self.user, is_done=False).save()
コード例 #11
0
class TaskCrudNormalTest(TestCase):

    def setUp(self):
        self.factory = RequestFactory()
        self.user = User.objects.create_user(username='******', password='******')
        self.task = Task(name='Test task', owner=self.user, is_done=False)
        self.task.save()
        self.done_task = Task(name='Test done task', owner=self.user, is_done=True, marked_done_by=self.user)
        self.done_task.save()

    def test_create_method(self):
        data = {'task_name': 'new_task_name'}
        kwargs = {'method': 'create'}
        request = self.factory.post(path='/task_crud/create/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        created_task = Task.objects.filter(owner=self.user, name=data['task_name'])
        assert len(created_task) is 1
        assert response.status_code == HttpResponse.status_code

    def test_edit(self):
        data = {'task_id': self.task.id, 'task_name': 'new_task_name'}
        kwargs = {'method': 'edit'}
        request = self.factory.post(path='/task_crud/edit/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        modified_task = Task.objects.get(id=self.task.id)
        assert modified_task.name == data['task_name']
        assert response.status_code == HttpResponse.status_code

    def test_delete_method(self):
        task_id = self.task.id
        data = {'task_id': task_id}
        kwargs = {'method': 'delete'}
        request = self.factory.post(path='/task_crud/delete/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        deleted_task = Task.objects.filter(id=task_id)
        assert len(deleted_task) is 0
        assert response.status_code == HttpResponse.status_code

    def test_mark_done(self):
        data = {'task_id': self.task.id}
        kwargs = {'method': 'done'}
        request = self.factory.post(path='/task_crud/done/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        modified_task = Task.objects.get(id=self.task.id)
        assert modified_task.is_done is True
        assert modified_task.marked_done_by.username == self.user.username
        assert response.status_code == HttpResponse.status_code

    def test_mark_undone(self):
        data = {'task_id': self.done_task.id}
        kwargs = {'method': 'undone'}
        request = self.factory.post(path='/task_crud/undone/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        modified_task = Task.objects.get(id=self.done_task.id)
        assert modified_task.is_done is False
        assert modified_task.marked_done_by is None
        assert response.status_code == HttpResponse.status_code

    def tearDown(self):
        pass
コード例 #12
0
class TaskCrudErrorsTest(TestCase):

    def setUp(self):
        self.factory = RequestFactory()
        self.user = User.objects.create_user(username='******', password='******')
        self.user2 = User.objects.create_user(username='******', password='******')
        self.task = Task(name='Test task', owner=self.user, is_done=False)
        self.task.save()
        self.done_task = Task(name='Test done task', owner=self.user, is_done=True, marked_done_by=self.user)
        self.done_task.save()

    def test_invalid_method(self):
        data = {}
        kwargs = {'method': 'invalid method'}
        request = self.factory.post(path='/task_crud/create/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        assert response.status_code == HttpResponseBadRequest.status_code

    def test_empty_create_request(self):
        data = {}
        kwargs = {'method': 'create'}
        request = self.factory.post(path='/task_crud/create/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        assert response.status_code == HttpResponseBadRequest.status_code

    def test_empty_done_request(self):
        data = {}
        kwargs = {'method': 'done'}
        request = self.factory.post(path='/task_crud/done/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        assert response.status_code == HttpResponseBadRequest.status_code

    def test_empty_undone_request(self):
        data = {}
        kwargs = {'method': 'undone'}
        request = self.factory.post(path='/task_crud/undone/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        assert response.status_code == HttpResponseBadRequest.status_code

    def test_empty_edit_request(self):
        data = {}
        kwargs = {'method': 'edit'}
        request = self.factory.post(path='/task_crud/edit/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        assert response.status_code == HttpResponseBadRequest.status_code

    def test_empty_delete_request(self):
        data = {}
        kwargs = {'method': 'delete'}
        request = self.factory.post(path='/task_crud/delete/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        assert response.status_code == HttpResponseBadRequest.status_code

    def test_unexisting_id_request(self):
        data = {'task_id': 999, 'task_name': self.task.name}
        kwargs = {'method': 'edit'}
        request = self.factory.post(path='/task_crud/edit/', data=data, )
        request.user = self.user
        response = TaskCrud.as_view()(request, **kwargs)

        assert response.status_code == HttpResponseNotFound.status_code

    def test_forbidden_edit(self):
        data = {'task_id': self.task.id, 'task_name': self.task.name}
        kwargs = {'method': 'edit'}
        request = self.factory.post(path='/task_crud/edit/', data=data, )
        request.user = self.user2
        response = TaskCrud.as_view()(request, **kwargs)

        assert response.status_code == HttpResponseForbidden.status_code

    def test_forbidden_delete(self):
        data = {'task_id': self.task.id, 'task_name': self.task.name}
        kwargs = {'method': 'delete'}
        request = self.factory.post(path='/task_crud/delete/', data=data, )
        request.user = self.user2
        response = TaskCrud.as_view()(request, **kwargs)

        assert response.status_code == HttpResponseForbidden.status_code