Add minimal test for basic hackathon operations and enhance test utilities
- Introduced a new test module for hackathon-related functionality. - Implemented a basic test for creating a hackathon using a mock repository. - Enhanced the test utilities in `lib.rs` for better request handling and response extraction. - Added a `ServiceClient` struct to facilitate HTTP requests in tests. - Created a `RequestBuilder` to streamline building and sending requests with headers and JSON bodies.
This commit is contained in:
@@ -704,17 +704,14 @@ impl TeamsServiceTrait for TeamsService {
|
||||
}
|
||||
}
|
||||
|
||||
match Self::get_user_info_with_privacy(
|
||||
if let Ok(mut leader_dto) = Self::get_user_info_with_privacy(
|
||||
&team.leader_id.id.to_raw(),
|
||||
&claims.user_id,
|
||||
is_member,
|
||||
&state,
|
||||
).await {
|
||||
Ok(mut leader_dto) => {
|
||||
leader_dto.role = "leader".to_string();
|
||||
member_dtos.insert(0, leader_dto);
|
||||
}
|
||||
Err(_) => {}
|
||||
leader_dto.role = "leader".to_string();
|
||||
member_dtos.insert(0, leader_dto);
|
||||
}
|
||||
|
||||
success_response(ResponseSuccessDto { data: member_dtos })
|
||||
@@ -825,17 +822,14 @@ impl TeamsServiceTrait for TeamsService {
|
||||
}
|
||||
|
||||
// Add leader with full sensitive info
|
||||
match Self::get_user_info_with_privacy(
|
||||
if let Ok(mut leader_dto) = Self::get_user_info_with_privacy(
|
||||
&team.leader_id.id.to_raw(),
|
||||
"system",
|
||||
true,
|
||||
&state,
|
||||
).await {
|
||||
Ok(mut leader_dto) => {
|
||||
leader_dto.role = "leader".to_string();
|
||||
member_dtos.insert(0, leader_dto);
|
||||
}
|
||||
Err(_) => {}
|
||||
leader_dto.role = "leader".to_string();
|
||||
member_dtos.insert(0, leader_dto);
|
||||
}
|
||||
|
||||
let team_dto = team.into_admin_detail_dto(member_dtos);
|
||||
@@ -916,7 +910,7 @@ impl TeamsServiceTrait for TeamsService {
|
||||
Ok(_) => common_response(StatusCode::OK, &format!("Successfully left team: {}", team.name)),
|
||||
Err(e) => {
|
||||
error!("Failed to remove team member: {}", e);
|
||||
return common_response(StatusCode::INTERNAL_SERVER_ERROR, "Failed to leave team")
|
||||
common_response(StatusCode::INTERNAL_SERVER_ERROR, "Failed to leave team")
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user