v0.9.3
This commit is contained in:
1 parent
97c26c67b6
commit
d0346dd797
33 files changed
+327
-270
No files matched your search
@@ -439,6 +439,25 @@ mod tests {
|
||||
assert_eq!(effective_zone_mode(&zone, "off"), "cool");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn group_manual_control_can_run_when_house_mode_is_off() {
|
||||
let mut zone = test_zone("device");
|
||||
zone.inherit_house_mode = true;
|
||||
zone.mode = "cool".into();
|
||||
zone.control_source = "group:downstairs".into();
|
||||
assert_eq!(effective_zone_mode(&zone, "off"), "cool");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn legacy_global_power_flag_does_not_take_ownership() {
|
||||
let mut zone = test_zone("device");
|
||||
zone.local_thermostat_power = Some(true);
|
||||
zone.control_source = "web_thermostat".into();
|
||||
refresh_control_ownership(&mut zone, false);
|
||||
assert_eq!(zone.control_owner, "local_thermostat");
|
||||
assert_ne!(zone.control_source, "global");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn indefinite_local_off_does_not_create_or_rearm_handback() {
|
||||
let mut zone = test_zone("device");
|
||||
@@ -712,6 +731,21 @@ mod tests {
|
||||
}
|
||||
|
||||
|
||||
#[test]
|
||||
fn global_one_shot_queue_does_not_change_zone_ownership() {
|
||||
let mut zone = test_zone("device");
|
||||
zone.local_thermostat_power = Some(true);
|
||||
zone.control_source = "web_thermostat".into();
|
||||
refresh_control_ownership(&mut zone, true);
|
||||
let owner = zone.control_owner.clone();
|
||||
let source = zone.control_source.clone();
|
||||
let until = Utc::now() + chrono::Duration::seconds(180);
|
||||
queue_compressor_action(&mut zone, "global_power_on".into(), until, "minimum_off_before_global_start");
|
||||
assert_eq!(zone.control_owner, owner);
|
||||
assert_eq!(zone.control_source, source);
|
||||
assert_eq!(zone.compressor_pending_action.as_deref(), Some("global_power_on"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn compressor_queue_helpers_track_and_clear_pending_intent() {
|
||||
let mut zone = test_zone("device");
|
||||
|
||||
Reference in new issue
Block a user