- Add #![allow(dead_code)] to modules with future features - Fix trailing whitespace in main.rs - Remove unused imports (Claims, ObjectId, Deserialize, Serialize) - Fix unnecessary map_err in health_stats.rs - Add allow attributes for experimental and redundant code - Fix redundant pattern matching in health.rs
61 lines
1.8 KiB
Rust
61 lines
1.8 KiB
Rust
// 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);
|
|
}
|
|
}
|