use assert_cmd::prelude::*;
use predicates::prelude::*;
use std::process::Command;
mod common;
#[test]
fn load_empty() -> Result<(), Box<dyn std::error::Error>> {
let root_dir = common::create_project("load-empty")?;
let folder = root_dir.path();
let mut cmd = Command::cargo_bin("orcs")?;
cmd.arg("load").arg("-p").arg(&folder);
cmd.assert()
.success()
.stdout(predicate::str::contains("load-empty"));
Ok(())
}
#[test]
fn load_with_service() -> Result<(), Box<dyn std::error::Error>> {
let root_dir = common::create_project("load-with-service")?;
let folder = root_dir.path();
common::create_service(folder, "hello-world")?;
let mut cmd = Command::cargo_bin("orcs")?;
cmd.arg("load").arg("-p").arg(&folder);
cmd.assert()
.success()
.stdout(predicate::str::contains("load-with-service"))
.stdout(predicate::str::contains("hello-world"));
Ok(())
}
#[test]
fn load_with_recipe() -> Result<(), Box<dyn std::error::Error>> {
let root_dir = common::create_project("load-with-recipe")?;
let folder = root_dir.path();
common::create_recipe(folder, "hello-recipe")?;
let mut cmd = Command::cargo_bin("orcs")?;
cmd.arg("load").arg("-p").arg(&folder);
cmd.assert()
.success()
.stdout(predicate::str::contains("load-with-recipe"))
.stdout(predicate::str::contains("hello-world").count(0));
Ok(())
}