Coverage for tasks/tests/test_api.py: 100%
24 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-18 16:35 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-05-18 16:35 +0000
1from datetime import date
2import pytest
3from django.urls import reverse
4from rest_framework.test import APIClient
5from tasks.models import Task
7@pytest.fixture
8def api_client():
9 return APIClient()
11@pytest.mark.django_db
12def test_create_task(api_client):
13 url = reverse("task-list") # If you're using a DRF viewset with basename "task"
14 data = {
15 "title": "Test Task",
16 "due_date": date.today(),
17 }
19 response = api_client.post(url, data, format="json")
20 assert response.status_code == 201
21 assert Task.objects.count() == 1
22 assert Task.objects.first().title == "Test Task"
24@pytest.mark.django_db
25def test_get_tasks(api_client):
26 Task.objects.create(title="Task 1", due_date= date.today())
27 Task.objects.create(title="Task 2", due_date= date.today())
28 url = reverse("task-list")
29 response = api_client.get(url)
30 assert response.status_code == 200
31 assert len(response.data) == 2