chore: add tests for upgrade command
This commit is contained in:
parent
afb1c8a4e3
commit
e3c3879376
1 changed files with 44 additions and 0 deletions
|
@ -337,3 +337,47 @@ mod make {
|
|||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
mod upgrade {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn applied_all_migrations() -> TestResult {
|
||||
let env = Env::new(DATABASE_URL_DEFAULT_ENV_NAME, DATABASE_URL_ENV_VALUE);
|
||||
|
||||
Command::cargo_bin("migra")?
|
||||
.arg("-c")
|
||||
.arg(path_to_file("Migra_env.toml"))
|
||||
.arg("up")
|
||||
.assert()
|
||||
.success();
|
||||
|
||||
let mut conn = postgres::Client::connect(DATABASE_URL_ENV_VALUE, postgres::NoTls)?;
|
||||
let res = conn.query("SELECT p.id, a.id FROM persons AS p, articles AS a", &[])?;
|
||||
|
||||
assert_eq!(
|
||||
res.into_iter()
|
||||
.map(|row| (row.get(0), row.get(1)))
|
||||
.collect::<Vec<(i32, i32)>>(),
|
||||
Vec::new()
|
||||
);
|
||||
|
||||
Command::cargo_bin("migra")?
|
||||
.arg("-c")
|
||||
.arg(path_to_file("Migra_env.toml"))
|
||||
.arg("down")
|
||||
.assert()
|
||||
.success();
|
||||
|
||||
Command::cargo_bin("migra")?
|
||||
.arg("-c")
|
||||
.arg(path_to_file("Migra_env.toml"))
|
||||
.arg("down")
|
||||
.assert()
|
||||
.success();
|
||||
|
||||
drop(env);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue