#![allow(unused)]
#![allow(dead_code)]

mod test_auth_module;
mod test_config_module;
mod test_message_module;
mod test_plugin_module;
mod test_report;
mod test_workflow_module;
mod test_common;

use test_report::{TestReport, TestSuite, TestCase};

pub use test_auth_module::run_auth_tests;
pub use test_config_module::run_config_tests;
pub use test_message_module::run_message_tests;
pub use test_plugin_module::run_plugin_tests;
pub use test_workflow_module::run_workflow_tests;

pub fn run_all_tests() -> TestReport {
    let mut report = TestReport::new("ERP Platform Full Integration Test Report".to_string());
    let start = std::time::Instant::now();

    report.add_suite(run_auth_tests());
    report.add_suite(run_config_tests());
    report.add_suite(run_message_tests());
    report.add_suite(run_workflow_tests());
    report.add_suite(run_plugin_tests());

    report.elapsed_ms = start.elapsed().as_millis() as u64;
    report
} 