mirror of
https://github.com/jlengrand/getting-started-with-github-copilot.git
synced 2026-03-10 00:11:20 +00:00
46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
import pytest
|
|
from fastapi.testclient import TestClient
|
|
from src.app import app
|
|
|
|
client = TestClient(app)
|
|
|
|
def test_get_activities():
|
|
response = client.get("/activities")
|
|
assert response.status_code == 200
|
|
data = response.json()
|
|
assert isinstance(data, dict)
|
|
assert "Chess Club" in data
|
|
|
|
def test_signup_for_activity():
|
|
email = "newstudent@mergington.edu"
|
|
activity = "Chess Club"
|
|
response = client.post(f"/activities/{activity}/signup?email={email}")
|
|
assert response.status_code == 200
|
|
assert email in response.json()["message"]
|
|
# Try signing up again (should fail)
|
|
response2 = client.post(f"/activities/{activity}/signup?email={email}")
|
|
assert response2.status_code == 400
|
|
|
|
def test_unregister_from_activity():
|
|
email = "newstudent@mergington.edu"
|
|
activity = "Chess Club"
|
|
# Unregister
|
|
response = client.post(f"/activities/{activity}/unregister?email={email}")
|
|
assert response.status_code == 200
|
|
assert email in response.json()["message"]
|
|
# Try unregistering again (should fail)
|
|
response2 = client.post(f"/activities/{activity}/unregister?email={email}")
|
|
assert response2.status_code == 404
|
|
|
|
def test_signup_invalid_activity():
|
|
response = client.post("/activities/Nonexistent/signup?email=test@mergington.edu")
|
|
assert response.status_code == 404
|
|
|
|
def test_unregister_invalid_activity():
|
|
response = client.post("/activities/Nonexistent/unregister?email=test@mergington.edu")
|
|
assert response.status_code == 404
|
|
|
|
def test_unregister_invalid_participant():
|
|
response = client.post("/activities/Chess Club/unregister?email=notfound@mergington.edu")
|
|
assert response.status_code == 404
|