test: clean up tests/test_ui_filter.py using dataclass and slots
This commit is contained in:
@@ -1,17 +1,21 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from dataclasses import dataclass
|
||||||
|
from typing import Callable, cast
|
||||||
|
|
||||||
from auditui.ui import FilterScreen
|
from auditui.ui import FilterScreen
|
||||||
|
from textual.widgets import Input
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(slots=True)
|
||||||
class DummyEvent:
|
class DummyEvent:
|
||||||
def __init__(self, value: str) -> None:
|
value: str
|
||||||
self.value = value
|
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(slots=True)
|
||||||
class FakeTimer:
|
class FakeTimer:
|
||||||
def __init__(self, callback) -> None:
|
callback: Callable[[], None]
|
||||||
self.callback = callback
|
stopped: bool = False
|
||||||
self.stopped = False
|
|
||||||
|
|
||||||
def stop(self) -> None:
|
def stop(self) -> None:
|
||||||
self.stopped = True
|
self.stopped = True
|
||||||
@@ -33,8 +37,8 @@ def test_filter_debounce_uses_latest_value(monkeypatch) -> None:
|
|||||||
|
|
||||||
monkeypatch.setattr(screen, "set_timer", fake_set_timer)
|
monkeypatch.setattr(screen, "set_timer", fake_set_timer)
|
||||||
|
|
||||||
screen.on_input_changed(DummyEvent("a"))
|
screen.on_input_changed(cast(Input.Changed, DummyEvent("a")))
|
||||||
screen.on_input_changed(DummyEvent("ab"))
|
screen.on_input_changed(cast(Input.Changed, DummyEvent("ab")))
|
||||||
|
|
||||||
assert len(timers) == 2
|
assert len(timers) == 2
|
||||||
assert timers[0].stopped is True
|
assert timers[0].stopped is True
|
||||||
|
|||||||
Reference in New Issue
Block a user