backbone-pos 0.7.0

Point of sale — cashier session, ticket + multi-tender; orchestrates billing (revenue) + payment (settlement), posts no GL directly
Documentation
//! Integration Tests for pos
//!
//! Generated by metaphor-schema. Do not edit manually.
//!
//! Run with: cargo test --package backbone-pos --test integration_tests

#![recursion_limit = "512"]

mod integration;

use integration::tests::*;

#[tokio::test]
async fn test_pos_closing_entry_api() {
    let mut test = PosClosingEntryApiTest::new();
    let results = test.run_all().await;

    let failed: Vec<_> = results.iter().filter(|r| !r.success).collect();
    if !failed.is_empty() {
        for f in &failed {
            eprintln!("FAILED: {} - {}", f.test_name, f.details);
        }
        panic!("{} tests failed", failed.len());
    }
}

#[tokio::test]
async fn test_pos_invoice_api() {
    let mut test = PosInvoiceApiTest::new();
    let results = test.run_all().await;

    let failed: Vec<_> = results.iter().filter(|r| !r.success).collect();
    if !failed.is_empty() {
        for f in &failed {
            eprintln!("FAILED: {} - {}", f.test_name, f.details);
        }
        panic!("{} tests failed", failed.len());
    }
}

#[tokio::test]
async fn test_pos_invoice_item_api() {
    let mut test = PosInvoiceItemApiTest::new();
    let results = test.run_all().await;

    let failed: Vec<_> = results.iter().filter(|r| !r.success).collect();
    if !failed.is_empty() {
        for f in &failed {
            eprintln!("FAILED: {} - {}", f.test_name, f.details);
        }
        panic!("{} tests failed", failed.len());
    }
}

#[tokio::test]
async fn test_pos_payment_api() {
    let mut test = PosPaymentApiTest::new();
    let results = test.run_all().await;

    let failed: Vec<_> = results.iter().filter(|r| !r.success).collect();
    if !failed.is_empty() {
        for f in &failed {
            eprintln!("FAILED: {} - {}", f.test_name, f.details);
        }
        panic!("{} tests failed", failed.len());
    }
}

#[tokio::test]
async fn test_pos_profile_api() {
    let mut test = PosProfileApiTest::new();
    let results = test.run_all().await;

    let failed: Vec<_> = results.iter().filter(|r| !r.success).collect();
    if !failed.is_empty() {
        for f in &failed {
            eprintln!("FAILED: {} - {}", f.test_name, f.details);
        }
        panic!("{} tests failed", failed.len());
    }
}

#[tokio::test]
async fn test_pos_opening_entry_api() {
    let mut test = PosOpeningEntryApiTest::new();
    let results = test.run_all().await;

    let failed: Vec<_> = results.iter().filter(|r| !r.success).collect();
    if !failed.is_empty() {
        for f in &failed {
            eprintln!("FAILED: {} - {}", f.test_name, f.details);
        }
        panic!("{} tests failed", failed.len());
    }
}

#[tokio::test]
async fn test_pos_cash_movement_api() {
    let mut test = PosCashMovementApiTest::new();
    let results = test.run_all().await;

    let failed: Vec<_> = results.iter().filter(|r| !r.success).collect();
    if !failed.is_empty() {
        for f in &failed {
            eprintln!("FAILED: {} - {}", f.test_name, f.details);
        }
        panic!("{} tests failed", failed.len());
    }
}

#[tokio::test]
async fn test_pos_discount_api() {
    let mut test = PosDiscountApiTest::new();
    let results = test.run_all().await;

    let failed: Vec<_> = results.iter().filter(|r| !r.success).collect();
    if !failed.is_empty() {
        for f in &failed {
            eprintln!("FAILED: {} - {}", f.test_name, f.details);
        }
        panic!("{} tests failed", failed.len());
    }
}

#[tokio::test]
async fn test_pos_manager_pin_api() {
    let mut test = PosManagerPinApiTest::new();
    let results = test.run_all().await;

    let failed: Vec<_> = results.iter().filter(|r| !r.success).collect();
    if !failed.is_empty() {
        for f in &failed {
            eprintln!("FAILED: {} - {}", f.test_name, f.details);
        }
        panic!("{} tests failed", failed.len());
    }
}

#[tokio::test]
async fn test_pos_floor_plan_api() {
    let mut test = PosFloorPlanApiTest::new();
    let results = test.run_all().await;

    let failed: Vec<_> = results.iter().filter(|r| !r.success).collect();
    if !failed.is_empty() {
        for f in &failed {
            eprintln!("FAILED: {} - {}", f.test_name, f.details);
        }
        panic!("{} tests failed", failed.len());
    }
}

#[tokio::test]
async fn test_pos_table_api() {
    let mut test = PosTableApiTest::new();
    let results = test.run_all().await;

    let failed: Vec<_> = results.iter().filter(|r| !r.success).collect();
    if !failed.is_empty() {
        for f in &failed {
            eprintln!("FAILED: {} - {}", f.test_name, f.details);
        }
        panic!("{} tests failed", failed.len());
    }
}