willdo 0.0.1

Task manager with DAG
Documentation
use crate::config::{entry::Entry, AnyNumberOf, Job, Reference, Rule, Trigger};

#[test]
fn empty() {
    let dump = super::cfgdump::CfgDump::dump(Entry::job(
        &[],
        &"urn:test".parse().expect("setup"),
        Job {
            runs: None,
            job: None,
            script: AnyNumberOf::None,
            when: AnyNumberOf::None,
            then: AnyNumberOf::None,
        },
    ));
    insta::assert_debug_snapshot!(dump.as_slice());
}

#[test]
fn after() {
    let dump = super::cfgdump::CfgDump::dump(Entry::job(
        &[],
        &"urn:test".parse().expect("setup"),
        Job {
            runs: None,
            job: None,
            script: AnyNumberOf::None,
            when: AnyNumberOf::Single(Rule::After {
                done: Reference::Single("other".into()),
                code: AnyNumberOf::None,
            }),
            then: AnyNumberOf::None,
        },
    ));
    insta::assert_debug_snapshot!(dump.as_slice());
}

#[test]
fn trigger() {
    let dump = super::cfgdump::CfgDump::dump(Entry::job(
        &[],
        &"urn:test".parse().expect("setup"),
        Job {
            runs: None,
            job: None,
            script: AnyNumberOf::None,
            when: AnyNumberOf::None,
            then: AnyNumberOf::Single(Trigger::Start {
                start: Reference::Single("other".into()),
                code: AnyNumberOf::None,
            }),
        },
    ));
    insta::assert_debug_snapshot!(dump.as_slice());
}