feat: working cuddle actions,
although I am not entirely happy with it, as we're missing args, state and project variables Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
@@ -3,8 +3,7 @@ use pretty_assertions::assert_eq;
|
||||
|
||||
#[test]
|
||||
fn test_can_schema_no_actions() -> anyhow::Result<()> {
|
||||
let output =
|
||||
cuddle_actions::CuddleActions::default().execute_from(vec!["cuddle-actions", "schema"])?;
|
||||
let output = cuddle_actions::CuddleActions::default().get_pretty_actions()?;
|
||||
|
||||
assert_eq!("[]", &output);
|
||||
|
||||
@@ -14,8 +13,8 @@ fn test_can_schema_no_actions() -> anyhow::Result<()> {
|
||||
#[test]
|
||||
fn test_can_schema_simple_action() -> anyhow::Result<()> {
|
||||
let output = cuddle_actions::CuddleActions::default()
|
||||
.add_action("something", || {}, &AddActionOptions::default())
|
||||
.execute_from(vec!["cuddle-actions", "schema"])?;
|
||||
.add_action("something", || Ok(()), &AddActionOptions::default())
|
||||
.get_pretty_actions()?;
|
||||
|
||||
assert_eq!(
|
||||
r#"[
|
||||
@@ -29,3 +28,40 @@ fn test_can_schema_simple_action() -> anyhow::Result<()> {
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_can_call_simple_action() -> anyhow::Result<()> {
|
||||
cuddle_actions::CuddleActions::default()
|
||||
.add_action("something", || Ok(()), &AddActionOptions::default())
|
||||
.execute_from(vec!["cuddle-actions", "do", "something"])?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_can_fail_on_unknown_command() -> anyhow::Result<()> {
|
||||
let res = cuddle_actions::CuddleActions::default().execute_from(vec![
|
||||
"cuddle-actions",
|
||||
"do",
|
||||
"something",
|
||||
]);
|
||||
|
||||
assert!(res.is_err());
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_can_cmd_can_fail() -> anyhow::Result<()> {
|
||||
let res = cuddle_actions::CuddleActions::default()
|
||||
.add_action(
|
||||
"something",
|
||||
|| anyhow::bail!("failed to run cmd"),
|
||||
&AddActionOptions::default(),
|
||||
)
|
||||
.execute_from(vec!["cuddle-actions", "do", "something"]);
|
||||
|
||||
assert!(res.is_err());
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
Reference in New Issue
Block a user