use super::render_header_chips;
use crate::state::AppState;
use crate::state::modal::{PreflightHeaderChips, RiskLevel};
#[test]
fn test_render_header_chips_minimal() {
let app = AppState::default();
let chips = PreflightHeaderChips {
package_count: 0,
aur_count: 0,
download_bytes: 0,
install_delta_bytes: 0,
risk_level: RiskLevel::Low,
risk_score: 0,
};
let line = render_header_chips(&app, &chips);
assert!(!line.spans.is_empty());
}
#[test]
fn test_render_header_chips_with_aur() {
let app = AppState::default();
let chips = PreflightHeaderChips {
package_count: 5,
aur_count: 2,
download_bytes: 1_048_576,
install_delta_bytes: 512_000,
risk_level: RiskLevel::Medium,
risk_score: 5,
};
let line = render_header_chips(&app, &chips);
assert!(!line.spans.is_empty());
let line_text: String = line
.spans
.iter()
.map(|s| s.content.as_ref())
.collect::<String>();
assert!(line_text.contains('5') || line_text.contains('2'));
}
#[test]
fn test_render_header_chips_positive_delta() {
let app = AppState::default();
let chips = PreflightHeaderChips {
package_count: 1,
aur_count: 0,
download_bytes: 0,
install_delta_bytes: 1_048_576, risk_level: RiskLevel::Low,
risk_score: 1,
};
let line = render_header_chips(&app, &chips);
assert!(!line.spans.is_empty());
}
#[test]
fn test_render_header_chips_negative_delta() {
let app = AppState::default();
let chips = PreflightHeaderChips {
package_count: 1,
aur_count: 0,
download_bytes: 0,
install_delta_bytes: -1_048_576, risk_level: RiskLevel::Low,
risk_score: 1,
};
let line = render_header_chips(&app, &chips);
assert!(!line.spans.is_empty());
}
#[test]
fn test_render_header_chips_zero_delta() {
let app = AppState::default();
let chips = PreflightHeaderChips {
package_count: 1,
aur_count: 0,
download_bytes: 0,
install_delta_bytes: 0, risk_level: RiskLevel::Low,
risk_score: 1,
};
let line = render_header_chips(&app, &chips);
assert!(!line.spans.is_empty());
}
#[test]
fn test_render_header_chips_risk_levels() {
let app = AppState::default();
let chips_low = PreflightHeaderChips {
package_count: 1,
aur_count: 0,
download_bytes: 0,
install_delta_bytes: 0,
risk_level: RiskLevel::Low,
risk_score: 1,
};
let line_low = render_header_chips(&app, &chips_low);
assert!(!line_low.spans.is_empty());
let chips_medium = PreflightHeaderChips {
package_count: 1,
aur_count: 0,
download_bytes: 0,
install_delta_bytes: 0,
risk_level: RiskLevel::Medium,
risk_score: 5,
};
let line_medium = render_header_chips(&app, &chips_medium);
assert!(!line_medium.spans.is_empty());
let chips_high = PreflightHeaderChips {
package_count: 1,
aur_count: 0,
download_bytes: 0,
install_delta_bytes: 0,
risk_level: RiskLevel::High,
risk_score: 10,
};
let line_high = render_header_chips(&app, &chips_high);
assert!(!line_high.spans.is_empty());
}