I can open an excel file and see its content
This commit is contained in:
@@ -700,6 +700,65 @@ class TestTabsManagerRender:
|
||||
expected = Div(cls=Contains("hidden"))
|
||||
assert matches(tab_content, expected)
|
||||
|
||||
def test_i_can_show_a_new_content(self, tabs_manager):
|
||||
"""Test that TabsManager.show_tab() send the correct div to the client"""
|
||||
tab_id = tabs_manager.create_tab("Tab1", Div("My Content"))
|
||||
actual = tabs_manager.show_tab(tab_id)
|
||||
|
||||
expected = (
|
||||
Div(data_active_tab=tab_id,
|
||||
hx_on__after_settle=f'updateTabs("{tabs_manager.get_id()}-controller");',
|
||||
hx_swap_oob="true"), # the controller is correctly updated
|
||||
Div(
|
||||
id=f'{tabs_manager.get_id()}-header-wrapper'
|
||||
), # content of the header
|
||||
Div(
|
||||
Div(Div("My Content")),
|
||||
hx_swap_oob=f"beforeend:#{tabs_manager.get_id()}-content-wrapper", # hx_swap_oob="beforeend:" important !
|
||||
), # content + where to put it
|
||||
)
|
||||
assert matches(actual, expected)
|
||||
|
||||
def test_i_can_show_content_after_switch(self, tabs_manager):
|
||||
tab_id = tabs_manager.create_tab("Tab1", Div("My Content"))
|
||||
tabs_manager.show_tab(tab_id) # first time, send everything
|
||||
actual = tabs_manager.show_tab(tab_id) # second time, send only the controller
|
||||
|
||||
expected = Div(data_active_tab=tab_id,
|
||||
hx_on__after_settle=f'updateTabs("{tabs_manager.get_id()}-controller");',
|
||||
hx_swap_oob="true")
|
||||
|
||||
assert matches(actual, expected)
|
||||
|
||||
def test_i_can_close_a_tab(self, tabs_manager):
|
||||
tab_id = tabs_manager.create_tab("Tab1", Div("My Content"))
|
||||
tabs_manager.show_tab(tab_id) # was sent
|
||||
actual = tabs_manager.close_tab(tab_id)
|
||||
|
||||
expected = (
|
||||
Div(id=f'{tabs_manager.get_id()}-controller'),
|
||||
Div(id=f'{tabs_manager.get_id()}-header-wrapper'),
|
||||
Div(id=f'{tabs_manager.get_id()}-{tab_id}-content', hx_swap_oob="delete") # hx_swap_oob="delete" important !
|
||||
)
|
||||
|
||||
assert matches(actual, expected)
|
||||
|
||||
def test_i_can_change_content(self, tabs_manager):
|
||||
tab_id = tabs_manager.create_tab("Tab1", Div("My Content"))
|
||||
tabs_manager.show_tab(tab_id)
|
||||
actual = tabs_manager.change_tab_content(tab_id, "New Label", Div("New Content"))
|
||||
|
||||
expected = (
|
||||
Div(data_active_tab=tab_id, hx_swap_oob="true"),
|
||||
Div(id=f'{tabs_manager.get_id()}-header-wrapper'),
|
||||
Div(
|
||||
Div("New Content"),
|
||||
id=f'{tabs_manager.get_id()}-{tab_id}-content',
|
||||
hx_swap_oob="outerHTML", # hx_swap_oob="true" important !
|
||||
),
|
||||
)
|
||||
assert matches(actual, expected)
|
||||
|
||||
# =========================================================================
|
||||
# Complete Render
|
||||
# =========================================================================
|
||||
|
||||
Reference in New Issue
Block a user