|
| 1 | +from datetime import date |
1 | 2 | import pytest |
2 | | -from rest_framework.test import APIClient |
3 | 3 | from django.urls import reverse |
4 | | -from datetime import date |
| 4 | +from rest_framework.test import APIClient |
| 5 | +from tasks.models import Task |
5 | 6 |
|
| 7 | +@pytest.fixture |
| 8 | +def api_client(): |
| 9 | + return APIClient() |
6 | 10 |
|
7 | 11 | @pytest.mark.django_db |
8 | | -def test_create_task_api(): |
9 | | - client = APIClient() |
10 | | - url = reverse("task-list") # Adjust if you use a different route name |
11 | | - response = client.post( |
12 | | - url, |
13 | | - { |
14 | | - "title": "API Task", |
| 12 | +def 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", |
15 | 16 | "due_date": date.today(), |
16 | | - }, |
17 | | - format="json", |
18 | | - ) |
| 17 | + } |
| 18 | + |
| 19 | + response = api_client.post(url, data, format="json") |
19 | 20 | assert response.status_code == 201 |
20 | | - assert response.data["title"] == "API Task" |
| 21 | + assert Task.objects.count() == 1 |
| 22 | + assert Task.objects.first().title == "Test Task" |
| 23 | + |
| 24 | +@pytest.mark.django_db |
| 25 | +def 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 |
0 commit comments