// Basic medication integration tests // These tests verify the medication endpoints work correctly // Note: These tests require MongoDB to be running // Run with: cargo test --test medication_tests #[cfg(test)] mod medication_tests { use reqwest::Client; use serde_json::json; const BASE_URL: &str = "http://localhost:3000"; #[tokio::test] async fn test_create_medication_requires_auth() { let client = Client::new(); let response = client .post(&format!("{}/api/medications", BASE_URL)) .json(&json!({ "profile_id": "test-profile", "name": "Test Medication", "dosage": "10mg", "frequency": "daily" })) .send() .await .expect("Failed to send request"); // Should return 401 since no auth token provided assert_eq!(response.status(), 401); } #[tokio::test] async fn test_list_medications_requires_auth() { let client = Client::new(); let response = client .get(&format!("{}/api/medications", BASE_URL)) .send() .await .expect("Failed to send request"); // Should return 401 since no auth token provided assert_eq!(response.status(), 401); } #[tokio::test] async fn test_get_medication_requires_auth() { let client = Client::new(); let response = client .get(&format!("{}/api/medications/507f1f77bcf86cd799439011", BASE_URL)) .send() .await .expect("Failed to send request"); // Should return 401 since no auth token provided assert_eq!(response.status(), 401); } }