Use DATABASE_URL env variable for sequential_op_tests
This commit is contained in:
parent
d5f63a05c4
commit
b2ed13868e
@ -2,6 +2,7 @@ pub mod setup;
|
||||
use sea_orm::DatabaseConnection;
|
||||
pub mod bakery_chain;
|
||||
pub use bakery_chain::*;
|
||||
use std::env;
|
||||
|
||||
pub struct TestContext {
|
||||
base_url: String,
|
||||
@ -10,12 +11,14 @@ pub struct TestContext {
|
||||
}
|
||||
|
||||
impl TestContext {
|
||||
pub async fn new(base_url: &str, db_name: &str) -> Self {
|
||||
let db: DatabaseConnection = setup::setup(base_url, db_name).await;
|
||||
pub async fn new(test_name: &str) -> Self {
|
||||
let base_url =
|
||||
env::var("DATABASE_URL").expect("Enviroment variable 'DATABASE_URL' not set");
|
||||
let db: DatabaseConnection = setup::setup(&base_url, test_name).await;
|
||||
|
||||
Self {
|
||||
base_url: base_url.to_string(),
|
||||
db_name: db_name.to_string(),
|
||||
base_url: base_url,
|
||||
db_name: test_name.to_string(),
|
||||
db,
|
||||
}
|
||||
}
|
||||
|
@ -7,10 +7,16 @@ use uuid::Uuid;
|
||||
pub mod common;
|
||||
pub use common::{bakery_chain::*, setup::*, TestContext};
|
||||
|
||||
// Run the test locally:
|
||||
// DATABASE_URL="mysql://root:@localhost" cargo test --features sqlx-mysql --test sequential_op_tests
|
||||
#[async_std::test]
|
||||
#[cfg(feature = "sqlx-mysql")]
|
||||
#[cfg(any(
|
||||
feature = "sqlx-mysql",
|
||||
feature = "sqlx-sqlite",
|
||||
feature = "sqlx-postgres"
|
||||
))]
|
||||
pub async fn test_multiple_operations() {
|
||||
let ctx = TestContext::new("mysql://root:@localhost", "multiple_sequential_operations").await;
|
||||
let ctx = TestContext::new("multiple_sequential_operations").await;
|
||||
|
||||
init_setup(&ctx.db).await;
|
||||
let baker_least_sales = find_baker_least_sales(&ctx.db).await.unwrap();
|
||||
@ -21,6 +27,8 @@ pub async fn test_multiple_operations() {
|
||||
|
||||
let baker_least_sales = find_baker_least_sales(&ctx.db).await.unwrap();
|
||||
assert_eq!(baker_least_sales.name, "Baker 1");
|
||||
|
||||
ctx.delete().await;
|
||||
}
|
||||
|
||||
async fn init_setup(db: &DatabaseConnection) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user