42 lines
1.2 KiB
Python
42 lines
1.2 KiB
Python
"""
|
|
Tests for user functionality
|
|
"""
|
|
import pytest
|
|
from fastapi.testclient import TestClient
|
|
from merchants_of_hope.models import User, UserRole
|
|
|
|
|
|
def test_create_user(client, db_session):
|
|
"""Test creating a user"""
|
|
user_data = {
|
|
"email": "test@example.com",
|
|
"username": "testuser",
|
|
"password": "testpassword",
|
|
"role": "job_seeker"
|
|
}
|
|
response = client.post("/api/v1/users/", json=user_data)
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
assert data["email"] == user_data["email"]
|
|
assert data["username"] == user_data["username"]
|
|
assert data["role"] == user_data["role"]
|
|
|
|
|
|
def test_get_user(client, db_session):
|
|
"""Test getting a user"""
|
|
# First create a user
|
|
user_data = {
|
|
"email": "test2@example.com",
|
|
"username": "testuser2",
|
|
"password": "testpassword",
|
|
"role": "job_provider"
|
|
}
|
|
create_response = client.post("/api/v1/users/", json=user_data)
|
|
assert create_response.status_code == 200
|
|
created_user = create_response.json()
|
|
|
|
# Then get the user
|
|
response = client.get(f"/api/v1/users/{created_user['id']}")
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
assert data["email"] == user_data["email"] |