31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
import pytest
|
|
from fasthtml.components import *
|
|
|
|
from myfasthtml.controls.TabsManager import TabsManager
|
|
from myfasthtml.core.instances import InstancesManager
|
|
from .conftest import session
|
|
|
|
|
|
@pytest.fixture()
|
|
def tabs_manager(session):
|
|
yield TabsManager(session)
|
|
|
|
InstancesManager.reset()
|
|
|
|
|
|
def test_tabs_manager_is_registered(session, tabs_manager):
|
|
from_instance_manager = InstancesManager.get(session, tabs_manager.get_id())
|
|
assert from_instance_manager == tabs_manager
|
|
|
|
|
|
def test_i_can_add_tab(tabs_manager):
|
|
tab_id = tabs_manager.add_tab("Users", Div("Content 1"))
|
|
|
|
assert tab_id is not None
|
|
assert tab_id in tabs_manager.get_state().tabs
|
|
assert tabs_manager.get_state().tabs[tab_id]["label"] == "Users"
|
|
assert tabs_manager.get_state().tabs[tab_id]["component_type"] is None # Div is not BaseInstance
|
|
assert tabs_manager.get_state().tabs[tab_id]["component_id"] is None # Div is not BaseInstance
|
|
assert tabs_manager.get_state().tabs_order == [tab_id]
|
|
assert tabs_manager.get_state().active_tab == tab_id
|