Skip to content

Commit

Permalink
refactor: seperate integration test
Browse files Browse the repository at this point in the history
  • Loading branch information
jasonribble committed Jul 20, 2024
1 parent 2f67770 commit 25ac486
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 85 deletions.
85 changes: 0 additions & 85 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,88 +46,3 @@ async fn main() -> anyhow::Result<()> {

Ok(())
}

#[cfg(test)]

mod tests {
use assert_cmd::Command;

#[test]
fn test_help() {
let mut cmd = Command::cargo_bin("connect").unwrap();

cmd.arg("--help");

cmd.assert()
.success()
.stdout(predicates::str::contains("Usage: connect <COMMAND>"));
}

#[test]
fn test_connect_works() {
let mut cmd = Command::cargo_bin("connect").unwrap();

cmd.arg("create")
.arg("--first-name")
.arg("First")
.arg("--last-name")
.arg("Last")
.arg("--email")
.arg("test@test.com")
.arg("--phone-number")
.arg("123-321-1233");

cmd.assert()
.success()
.stdout(predicates::str::contains("Successfully saved contact."));
}

#[test]
fn test_connect_invalid_email() {
let mut cmd = Command::cargo_bin("connect").unwrap();

cmd.arg("create")
.arg("--first-name")
.arg("First")
.arg("--last-name")
.arg("Last")
.arg("--email")
.arg("test@.com")
.arg("--phone-number")
.arg("123-321-1233");

cmd.assert()
.failure()
.stderr(predicates::str::contains("InvalidEmail"));
}

#[test]
fn test_connect_invalid_phone() {
let mut cmd = Command::cargo_bin("connect").unwrap();

cmd.arg("create")
.arg("--first-name")
.arg("First")
.arg("--last-name")
.arg("Last")
.arg("--email")
.arg("test@com.com")
.arg("--phone-number")
.arg("123-321-123");

cmd.assert()
.failure()
.stderr(predicates::str::contains("InvalidPhone"));
}

#[test]
fn test_connect_invalid_args() {
let mut cmd = Command::cargo_bin("connect").unwrap();

cmd.arg("First").arg("Last").arg("32321123");

cmd.assert()
.failure()
.stderr(predicates::str::contains("Usage: connect <COMMAND>"));
}
}
84 changes: 84 additions & 0 deletions tests/integration.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
#[cfg(test)]

mod tests {
use assert_cmd::Command;

#[test]
fn test_help() {
let mut cmd = Command::cargo_bin("connect").unwrap();

cmd.arg("--help");

cmd.assert()
.success()
.stdout(predicates::str::contains("Usage: connect <COMMAND>"));
}

#[test]
fn test_connect_works() {
let mut cmd = Command::cargo_bin("connect").unwrap();

cmd.arg("create")
.arg("--first-name")
.arg("First")
.arg("--last-name")
.arg("Last")
.arg("--email")
.arg("test@test.com")
.arg("--phone-number")
.arg("123-321-1233");

cmd.assert()
.success()
.stdout(predicates::str::contains("Successfully saved contact."));
}

#[test]
fn test_connect_invalid_email() {
let mut cmd = Command::cargo_bin("connect").unwrap();

cmd.arg("create")
.arg("--first-name")
.arg("First")
.arg("--last-name")
.arg("Last")
.arg("--email")
.arg("test@.com")
.arg("--phone-number")
.arg("123-321-1233");

cmd.assert()
.failure()
.stderr(predicates::str::contains("InvalidEmail"));
}

#[test]
fn test_connect_invalid_phone() {
let mut cmd = Command::cargo_bin("connect").unwrap();

cmd.arg("create")
.arg("--first-name")
.arg("First")
.arg("--last-name")
.arg("Last")
.arg("--email")
.arg("test@com.com")
.arg("--phone-number")
.arg("123-321-123");

cmd.assert()
.failure()
.stderr(predicates::str::contains("InvalidPhone"));
}

#[test]
fn test_connect_invalid_args() {
let mut cmd = Command::cargo_bin("connect").unwrap();

cmd.arg("First").arg("Last").arg("32321123");

cmd.assert()
.failure()
.stderr(predicates::str::contains("Usage: connect <COMMAND>"));
}
}

0 comments on commit 25ac486

Please sign in to comment.