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"] |