94 lines
2.4 KiB
Rust
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,
|
|
}
|
|
);
|
|
}
|