Initial commit: MISF VOB download and upload automation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
c2dec96b1f
43 files changed
+10944
No files matched your search
@@ -0,0 +1,68 @@
|
||||
"""Unit tests for Planner left-nav helpers."""
|
||||
from __future__ import annotations
|
||||
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from selenium.webdriver.common.by import By
|
||||
|
||||
from onedrive_planner import (
|
||||
_left_nav_pane_collapsed,
|
||||
_my_plans_nav_visible,
|
||||
)
|
||||
|
||||
|
||||
def _nav_toggle(*, expanded: str = "false", displayed: bool = True):
|
||||
btn = MagicMock()
|
||||
btn.is_displayed.return_value = displayed
|
||||
btn.get_attribute.side_effect = lambda name: expanded if name == "aria-expanded" else ""
|
||||
return btn
|
||||
|
||||
|
||||
def _nav_link(*, displayed: bool = True, enabled: bool = True):
|
||||
el = MagicMock()
|
||||
el.is_displayed.return_value = displayed
|
||||
el.is_enabled.return_value = enabled
|
||||
return el
|
||||
|
||||
|
||||
def _mock_driver(*, elements: dict):
|
||||
drv = MagicMock()
|
||||
drv.find_elements.side_effect = lambda by, sel: elements.get((by, sel), [])
|
||||
return drv
|
||||
|
||||
|
||||
class TestNavHelpers:
|
||||
def test_collapsed_when_aria_expanded_false(self):
|
||||
drv = _mock_driver(
|
||||
elements={
|
||||
(By.XPATH, "//button[@aria-label='Left navigation pane']"): [
|
||||
_nav_toggle(expanded="false")
|
||||
],
|
||||
}
|
||||
)
|
||||
assert _left_nav_pane_collapsed(drv)
|
||||
|
||||
def test_not_collapsed_when_aria_expanded_true(self):
|
||||
drv = _mock_driver(
|
||||
elements={
|
||||
(By.XPATH, "//button[@aria-label='Left navigation pane']"): [
|
||||
_nav_toggle(expanded="true")
|
||||
],
|
||||
}
|
||||
)
|
||||
assert not _left_nav_pane_collapsed(drv)
|
||||
|
||||
def test_my_plans_visible(self):
|
||||
drv = _mock_driver(
|
||||
elements={
|
||||
(
|
||||
By.XPATH,
|
||||
"//*[self::span or self::div][normalize-space()='My plans']",
|
||||
): [_nav_link()],
|
||||
}
|
||||
)
|
||||
assert _my_plans_nav_visible(drv)
|
||||
|
||||
def test_my_plans_hidden(self):
|
||||
drv = _mock_driver(elements={})
|
||||
assert not _my_plans_nav_visible(drv)
|
||||
Reference in new issue
Block a user