mirror of
https://git.hiabuto.net/C3MA/CCMA.git
synced 2026-07-02 11:40:13 +02:00
feat: pace startup housekeeper runs
This commit is contained in:
@@ -4,11 +4,25 @@ from datetime import date
|
||||
|
||||
import pytest
|
||||
|
||||
import ccma.services.housekeeper as housekeeper_module
|
||||
from ccma.rules.loader import RuleLoadError
|
||||
from ccma.services.housekeeper import Housekeeper
|
||||
from ccma.storage.repository import MemberRepository
|
||||
|
||||
|
||||
def test_housekeeper_optionally_waits_between_members(tmp_path, monkeypatch) -> None:
|
||||
repository = MemberRepository(tmp_path)
|
||||
repository.initialize()
|
||||
repository.create_member(first_name="First", last_name="Member")
|
||||
repository.create_member(first_name="Second", last_name="Member")
|
||||
delays: list[float] = []
|
||||
monkeypatch.setattr(housekeeper_module.time, "sleep", delays.append)
|
||||
|
||||
Housekeeper(repository).run(today=date(2026, 6, 21), member_delay=0.25)
|
||||
|
||||
assert delays == [0.25]
|
||||
|
||||
|
||||
def test_store_rule_overrides_builtin_rule_with_same_filename(tmp_path) -> None:
|
||||
repository = MemberRepository(tmp_path)
|
||||
repository.initialize()
|
||||
|
||||
@@ -32,7 +32,11 @@ def test_splash_position_centers_on_pointer_and_stays_on_screen() -> None:
|
||||
|
||||
|
||||
def test_splash_minimum_time_only_waits_for_remaining_duration() -> None:
|
||||
from ccma.ui.splash import _progress_value, _remaining_minimum_ms
|
||||
from ccma.ui.splash import (
|
||||
_member_delay_for_splash,
|
||||
_progress_value,
|
||||
_remaining_minimum_ms,
|
||||
)
|
||||
|
||||
assert _remaining_minimum_ms(100.0, 5.0, 102.25) == 2750
|
||||
assert _remaining_minimum_ms(100.0, 5.0, 106.0) == 0
|
||||
@@ -41,6 +45,9 @@ def test_splash_minimum_time_only_waits_for_remaining_duration() -> None:
|
||||
assert _progress_value(5.0, 5.0, startup_finished=False) == 95.0
|
||||
assert _progress_value(2.5, 5.0, startup_finished=True) == 50.0
|
||||
assert _progress_value(5.0, 5.0, startup_finished=True) == 100.0
|
||||
assert _member_delay_for_splash(5.0, 10) == 0.5
|
||||
assert _member_delay_for_splash(5.0, 0) == 0.0
|
||||
assert _member_delay_for_splash(0.0, 10) == 0.0
|
||||
|
||||
|
||||
def test_event_labels_hide_board_actor_but_keep_automatic_marker() -> None:
|
||||
|
||||
Reference in New Issue
Block a user