tests for general data pushing
This commit is contained in:
@@ -8,7 +8,7 @@ use common::proto::multieko2::tables_data::{PostTableDataRequest, PostTableDataR
|
|||||||
pub async fn post_table_data(
|
pub async fn post_table_data(
|
||||||
db_pool: &PgPool,
|
db_pool: &PgPool,
|
||||||
request: PostTableDataRequest,
|
request: PostTableDataRequest,
|
||||||
) -> Result<PostTableDataResponse, Status> { // Return PostTableDataResponse directly
|
) -> Result<PostTableDataResponse, Status> {
|
||||||
let profile_name = request.profile_name;
|
let profile_name = request.profile_name;
|
||||||
let table_name = request.table_name;
|
let table_name = request.table_name;
|
||||||
let data = request.data;
|
let data = request.data;
|
||||||
@@ -148,7 +148,7 @@ pub async fn post_table_data(
|
|||||||
.await
|
.await
|
||||||
.map_err(|e| Status::internal(format!("Insert failed: {}", e)))?;
|
.map_err(|e| Status::internal(format!("Insert failed: {}", e)))?;
|
||||||
|
|
||||||
Ok(PostTableDataResponse { // Return PostTableDataResponse directly
|
Ok(PostTableDataResponse {
|
||||||
success: true,
|
success: true,
|
||||||
message: "Data inserted successfully".into(),
|
message: "Data inserted successfully".into(),
|
||||||
inserted_id,
|
inserted_id,
|
||||||
|
|||||||
@@ -26,5 +26,31 @@ pub async fn setup_test_db() -> PgPool {
|
|||||||
.await
|
.await
|
||||||
.expect("Migrations failed");
|
.expect("Migrations failed");
|
||||||
|
|
||||||
|
// Insert default profile if it doesn't exist
|
||||||
|
let profile = sqlx::query!(
|
||||||
|
r#"
|
||||||
|
INSERT INTO profiles (name)
|
||||||
|
VALUES ('default')
|
||||||
|
ON CONFLICT (name) DO NOTHING
|
||||||
|
RETURNING id
|
||||||
|
"#
|
||||||
|
)
|
||||||
|
.fetch_optional(&pool)
|
||||||
|
.await
|
||||||
|
.expect("Failed to insert test profile");
|
||||||
|
|
||||||
|
let profile_id = if let Some(profile) = profile {
|
||||||
|
profile.id
|
||||||
|
} else {
|
||||||
|
// If the profile already exists, fetch its ID
|
||||||
|
sqlx::query!(
|
||||||
|
"SELECT id FROM profiles WHERE name = 'default'"
|
||||||
|
)
|
||||||
|
.fetch_one(&pool)
|
||||||
|
.await
|
||||||
|
.expect("Failed to fetch default profile ID")
|
||||||
|
.id
|
||||||
|
};
|
||||||
|
|
||||||
pool
|
pool
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user