Skip to main content

aidens_profile_desktop/
lib.rs

1//! Desktop profile status.
2//!
3//! This crate is deferred until desktop product wiring exists with receipt
4//! evidence. It exposes status only.
5
6pub const PROFILE_ID: &str = "desktop";
7pub const SUPPORT_TIER: &str = "deferred/profile-status-only";
8pub const NON_GOAL: &str = "not a desktop product runtime";
9
10#[derive(Debug, Clone, PartialEq, Eq)]
11pub struct ProfileDesktopStatus {
12    pub enabled: bool,
13    pub note: String,
14}
15
16impl Default for ProfileDesktopStatus {
17    fn default() -> Self {
18        Self {
19            enabled: false,
20            note: format!("{PROFILE_ID}: {SUPPORT_TIER}; {NON_GOAL}"),
21        }
22    }
23}
24
25#[cfg(test)]
26mod tests {
27    use super::*;
28
29    #[test]
30    fn desktop_profile_is_status_only() {
31        let status = ProfileDesktopStatus::default();
32        assert!(!status.enabled);
33        assert!(status.note.contains(SUPPORT_TIER));
34        assert!(status.note.contains("not a desktop product runtime"));
35    }
36}