updates
This commit is contained in:
45
Backend/src/tests/test_integration_favorites.py
Normal file
45
Backend/src/tests/test_integration_favorites.py
Normal file
@@ -0,0 +1,45 @@
|
||||
"""
|
||||
Integration tests for favorites endpoints.
|
||||
"""
|
||||
import pytest
|
||||
|
||||
|
||||
@pytest.mark.integration
|
||||
class TestFavoritesEndpoints:
|
||||
"""Test favorites API endpoints."""
|
||||
|
||||
def test_get_favorites(self, authenticated_client, test_user):
|
||||
"""Test getting user's favorites."""
|
||||
response = authenticated_client.get("/api/favorites/")
|
||||
# May return 200 or 404 if endpoint doesn't exist
|
||||
assert response.status_code in [200, 404]
|
||||
if response.status_code == 200:
|
||||
data = response.json()
|
||||
assert data["status"] == "success"
|
||||
|
||||
def test_add_favorite(self, authenticated_client, test_room, test_user):
|
||||
"""Test adding a room to favorites."""
|
||||
response = authenticated_client.post(
|
||||
"/api/favorites/",
|
||||
json={"room_id": test_room.id}
|
||||
)
|
||||
# May return 200, 201, 403 (CSRF), or 404 if endpoint doesn't exist
|
||||
assert response.status_code in [200, 201, 403, 404]
|
||||
|
||||
def test_remove_favorite(self, authenticated_client, test_room, test_user, db_session):
|
||||
"""Test removing a room from favorites."""
|
||||
from src.models.favorite import Favorite
|
||||
|
||||
# First add a favorite
|
||||
favorite = Favorite(
|
||||
user_id=test_user.id,
|
||||
room_id=test_room.id
|
||||
)
|
||||
db_session.add(favorite)
|
||||
db_session.commit()
|
||||
db_session.refresh(favorite)
|
||||
|
||||
response = authenticated_client.delete(f"/api/favorites/{favorite.id}")
|
||||
# May return 200, 204, 403, or 404 if endpoint doesn't exist
|
||||
assert response.status_code in [200, 204, 403, 404]
|
||||
|
||||
Reference in New Issue
Block a user