Files
galaxy/app/src/settings_view/ai_page_tests.rs
T

94 lines
2.4 KiB
Rust

use super::{derive_agent_attribution_toggle_state, AgentAttributionToggleState};
use crate::workspaces::workspace::AdminEnablementSetting;
#[test]
fn respect_user_setting_returns_user_pref_unlocked() {
let state = derive_agent_attribution_toggle_state(
&AdminEnablementSetting::RespectUserSetting,
true,
true,
);
assert_eq!(
state,
AgentAttributionToggleState {
is_enabled: true,
is_forced_by_org: false,
is_disabled: false,
}
);
}
#[test]
fn respect_user_setting_with_user_off_returns_unchecked_unlocked() {
let state = derive_agent_attribution_toggle_state(
&AdminEnablementSetting::RespectUserSetting,
false,
true,
);
assert_eq!(
state,
AgentAttributionToggleState {
is_enabled: false,
is_forced_by_org: false,
is_disabled: false,
}
);
}
#[test]
fn team_enable_locks_toggle_on_regardless_of_user_pref() {
let state = derive_agent_attribution_toggle_state(&AdminEnablementSetting::Enable, false, true);
assert_eq!(
state,
AgentAttributionToggleState {
is_enabled: true,
is_forced_by_org: true,
is_disabled: true,
}
);
}
#[test]
fn team_disable_locks_toggle_off_regardless_of_user_pref() {
let state = derive_agent_attribution_toggle_state(&AdminEnablementSetting::Disable, true, true);
assert_eq!(
state,
AgentAttributionToggleState {
is_enabled: false,
is_forced_by_org: true,
is_disabled: true,
}
);
}
#[test]
fn ai_globally_disabled_marks_toggle_disabled_but_not_forced() {
let state = derive_agent_attribution_toggle_state(
&AdminEnablementSetting::RespectUserSetting,
true,
false,
);
assert_eq!(
state,
AgentAttributionToggleState {
is_enabled: true,
is_forced_by_org: false,
is_disabled: true,
}
);
}
#[test]
fn team_force_takes_precedence_over_global_ai_disabled() {
let state =
derive_agent_attribution_toggle_state(&AdminEnablementSetting::Enable, false, false);
assert_eq!(
state,
AgentAttributionToggleState {
is_enabled: true,
is_forced_by_org: true,
is_disabled: true,
}
);
}