tasker/api/tests/test_tasks.py
2025-03-27 19:14:12 +00:00

43 lines
1.6 KiB
Python

from datetime import datetime
import json
from models import Task, User, db
from flask_jwt_extended import create_access_token
def test_create_task(test_client):
"""Task creation test by logged in user"""
user = User(username="testuser", email="test@example.com", password="hashed_pass", role="User")
db.session.add(user)
db.session.commit()
access_token = create_access_token(identity=str(user.id))
headers = {"Authorization": f"Bearer {access_token}"}
response = test_client.post(
"/tasks",
data=json.dumps({"title": "Test Task", "description": "Opis", "due_date": "20-03-2025 12:00", "done": 0}),
headers=headers,
content_type="application/json",
)
assert response.status_code == 200 # Create task should be successful
data = response.get_json()
assert data["title"] == "Test Task"
def test_get_tasks(test_client):
"""User task get test"""
user = User(username="taskuser", email="task@example.com", password="hashed_pass", role="User")
db.session.add(user)
db.session.commit()
task = Task(title="Zadanie", description="Opis zadania", due_date=datetime.strptime("20-03-2025 12:00", '%d-%m-%Y %H:%M'), done=0, user_id=user.id)
db.session.add(task)
db.session.commit()
access_token = create_access_token(identity=str(user.id))
headers = {"Authorization": f"Bearer {access_token}"}
response = test_client.get(f"/tasks/user/{user.id}", headers=headers)
assert response.status_code == 200
data = response.get_json()
assert len(data) == 1
assert data[0]["title"] == "Zadanie"