fix: update test files to match actual backend schemas and endpoints
This commit is contained in:
@@ -12,7 +12,7 @@ class TestItemCRUD:
|
||||
json={
|
||||
"name": "Test Item",
|
||||
"category": "Electronics",
|
||||
"item_type": "Component",
|
||||
"type": "Component",
|
||||
"quantity": 10,
|
||||
"barcode": "123456789",
|
||||
"part_number": "PN-12345"
|
||||
@@ -141,7 +141,7 @@ class TestItemValidation:
|
||||
json={
|
||||
"name": "Item2",
|
||||
"category": "B",
|
||||
"item_type": "Type",
|
||||
"type": "Type",
|
||||
"quantity": 5,
|
||||
"barcode": "UNIQUE123",
|
||||
"part_number": "PN2"
|
||||
@@ -156,7 +156,7 @@ class TestItemValidation:
|
||||
json={
|
||||
"name": "Test",
|
||||
"category": "A",
|
||||
"item_type": "Type",
|
||||
"type": "Type",
|
||||
"quantity": -5,
|
||||
"barcode": "123",
|
||||
"part_number": "PN"
|
||||
|
||||
@@ -9,7 +9,7 @@ class TestUserAuthentication:
|
||||
def test_login_ldap_success(self, test_client, mock_ldap):
|
||||
"""Test successful LDAP login."""
|
||||
response = test_client.post(
|
||||
"/api/auth/login",
|
||||
"/api/users/login",
|
||||
json={"username": "testuser", "password": "password123"}
|
||||
)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
@@ -21,7 +21,7 @@ class TestUserAuthentication:
|
||||
mock_ldap.bind.side_effect = Exception("Invalid credentials")
|
||||
|
||||
response = test_client.post(
|
||||
"/api/auth/login",
|
||||
"/api/users/login",
|
||||
json={"username": "testuser", "password": "wrongpassword"}
|
||||
)
|
||||
assert response.status_code == status.HTTP_401_UNAUTHORIZED
|
||||
@@ -29,13 +29,12 @@ class TestUserAuthentication:
|
||||
def test_login_local_password(self, test_client, test_db):
|
||||
"""Test local password authentication (fallback)."""
|
||||
from backend.models import User
|
||||
from backend.auth import hash_password
|
||||
from backend.routers.users import get_password_hash
|
||||
|
||||
# Create local user
|
||||
user = User(
|
||||
username="localuser",
|
||||
email="local@test.com",
|
||||
hashed_password=hash_password("password123"),
|
||||
hashed_password=get_password_hash("password123"),
|
||||
role="user",
|
||||
origin="local"
|
||||
)
|
||||
@@ -43,7 +42,7 @@ class TestUserAuthentication:
|
||||
test_db.commit()
|
||||
|
||||
response = test_client.post(
|
||||
"/api/auth/login",
|
||||
"/api/users/login",
|
||||
json={"username": "localuser", "password": "password123"}
|
||||
)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
@@ -59,7 +58,7 @@ class TestUserCRUD:
|
||||
"/api/users",
|
||||
json={
|
||||
"username": "newuser",
|
||||
"email": "new@test.com",
|
||||
"password": "NewPass123!",
|
||||
"role": "user"
|
||||
},
|
||||
headers={"Authorization": f"Bearer {admin_token}"}
|
||||
@@ -67,7 +66,7 @@ class TestUserCRUD:
|
||||
assert response.status_code == status.HTTP_201_CREATED
|
||||
data = response.json()
|
||||
assert data["username"] == "newuser"
|
||||
assert data["email"] == "new@test.com"
|
||||
assert data["role"] == "user"
|
||||
|
||||
def test_create_user_non_admin_denied(self, test_client, user_token):
|
||||
"""Test that non-admin users cannot create users."""
|
||||
@@ -75,7 +74,7 @@ class TestUserCRUD:
|
||||
"/api/users",
|
||||
json={
|
||||
"username": "newuser",
|
||||
"email": "new@test.com",
|
||||
"password": "Pass123!",
|
||||
"role": "user"
|
||||
},
|
||||
headers={"Authorization": f"Bearer {user_token}"}
|
||||
@@ -88,7 +87,6 @@ class TestUserCRUD:
|
||||
|
||||
user = User(
|
||||
username="testuser",
|
||||
email="test@test.com",
|
||||
hashed_password="hashed",
|
||||
role="user",
|
||||
origin="local"
|
||||
@@ -105,8 +103,8 @@ class TestUserCRUD:
|
||||
"""Test listing all users."""
|
||||
from backend.models import User
|
||||
|
||||
user1 = User(username="user1", email="user1@test.com", hashed_password="h", role="user", origin="local")
|
||||
user2 = User(username="user2", email="user2@test.com", hashed_password="h", role="user", origin="local")
|
||||
user1 = User(username="user1", hashed_password="h", role="user", origin="local")
|
||||
user2 = User(username="user2", hashed_password="h", role="user", origin="local")
|
||||
test_db.add_all([user1, user2])
|
||||
test_db.commit()
|
||||
|
||||
@@ -119,24 +117,24 @@ class TestUserCRUD:
|
||||
"""Test updating user (admin only)."""
|
||||
from backend.models import User
|
||||
|
||||
user = User(username="testuser", email="old@test.com", hashed_password="h", role="user", origin="local")
|
||||
user = User(username="testuser", hashed_password="h", role="user", origin="local")
|
||||
test_db.add(user)
|
||||
test_db.commit()
|
||||
|
||||
response = test_client.put(
|
||||
f"/api/users/{user.id}",
|
||||
json={"email": "new@test.com", "role": "admin"},
|
||||
json={"username": "updateduser", "role": "admin"},
|
||||
headers={"Authorization": f"Bearer {admin_token}"}
|
||||
)
|
||||
assert response.status_code == status.HTTP_200_OK
|
||||
data = response.json()
|
||||
assert data["email"] == "new@test.com"
|
||||
assert data["role"] == "admin"
|
||||
|
||||
def test_delete_user_admin_only(self, test_client, test_db, admin_token):
|
||||
"""Test deleting user (admin only)."""
|
||||
from backend.models import User
|
||||
|
||||
user = User(username="testuser", email="test@test.com", hashed_password="h", role="user", origin="local")
|
||||
user = User(username="testuser", hashed_password="h", role="user", origin="local")
|
||||
test_db.add(user)
|
||||
test_db.commit()
|
||||
user_id = user.id
|
||||
|
||||
Reference in New Issue
Block a user