Skip to content

Commit

Permalink
more "random" new column name
Browse files Browse the repository at this point in the history
  • Loading branch information
alexcjohnson committed Sep 16, 2019
1 parent 09b9393 commit 5fa4d55
Showing 1 changed file with 27 additions and 25 deletions.
52 changes: 27 additions & 25 deletions tests/integration/renderer/test_persistence.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,10 @@ def report_props(columns, hidden_columns):

return app

NEW_NAME = 'mango'

def rename_and_hide(dash_duo, rename=0, new_name='x', hide=1):

def rename_and_hide(dash_duo, rename=0, new_name=NEW_NAME, hide=1):
dash_duo.find_element(
'.dash-header.column-{} .column-header--edit'.format(rename)
).click()
Expand Down Expand Up @@ -86,13 +88,13 @@ def test_rdps001_local_reload(dash_duo):

rename_and_hide(dash_duo)
# callback output
dash_duo.wait_for_text_to_equal('#out', 'names: [x, b]; hidden: [c1]')
check_table_names(dash_duo, ['x'])
dash_duo.wait_for_text_to_equal('#out', 'names: [{}, b]; hidden: [c1]'.format(NEW_NAME))
check_table_names(dash_duo, [NEW_NAME])

dash_duo.wait_for_page()
# callback gets persisted values, not the values provided with the layout
dash_duo.wait_for_text_to_equal('#out', 'names: [x, b]; hidden: [c1]')
check_table_names(dash_duo, ['x'])
dash_duo.wait_for_text_to_equal('#out', 'names: [{}, b]; hidden: [c1]'.format(NEW_NAME))
check_table_names(dash_duo, [NEW_NAME])

# new persistence reverts
app.persistence.value = 2
Expand All @@ -105,15 +107,15 @@ def test_rdps001_local_reload(dash_duo):
# put back the old persistence, get the old values
app.persistence.value = 1
dash_duo.wait_for_page()
dash_duo.wait_for_text_to_equal('#out', 'names: [x, b]; hidden: [c1]')
check_table_names(dash_duo, ['x'])
dash_duo.wait_for_text_to_equal('#out', 'names: [{}, b]; hidden: [c1]'.format(NEW_NAME))
check_table_names(dash_duo, [NEW_NAME])

# falsy persistence disables it
app.persistence.value = 0
dash_duo.wait_for_page()
check_table_names(dash_duo, ['a', 'b'])
rename_and_hide(dash_duo)
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])
dash_duo.wait_for_page()
check_table_names(dash_duo, ['a', 'b'])

Expand All @@ -129,20 +131,20 @@ def test_rdps002_session_reload(dash_duo):
dash_duo.start_server(app)
check_table_names(dash_duo, ['a', 'b'])
rename_and_hide(dash_duo)
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])

dash_duo.wait_for_page()
# callback gets persisted values, not the values provided with the layout
dash_duo.wait_for_text_to_equal('#out', 'names: [x, b]; hidden: [c1]')
check_table_names(dash_duo, ['x'])
dash_duo.wait_for_text_to_equal('#out', 'names: [{}, b]; hidden: [c1]'.format(NEW_NAME))
check_table_names(dash_duo, [NEW_NAME])


def test_rdps003_memory_reload(dash_duo):
app = reloadable_app(persistence_type='memory')
dash_duo.start_server(app)
check_table_names(dash_duo, ['a', 'b'])
rename_and_hide(dash_duo)
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])

dash_duo.wait_for_page()
# no persistence after reload with persistence_type=memory
Expand Down Expand Up @@ -172,15 +174,15 @@ def toggle_table(n):
check_table_names(dash_duo, ['a', 'b'])

rename_and_hide(dash_duo)
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])

dash_duo.find_element('#toggle-table').click()
# table is gone
dash_duo.wait_for_text_to_equal('#container', 'nope')

dash_duo.find_element('#toggle-table').click()
# table is back, with persisted props
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])

dash_duo.find_element('#toggle-table').click()
# gone again
Expand Down Expand Up @@ -211,15 +213,15 @@ def toggle_table(n):
check_table_names(dash_duo, ['a', 'b'])

rename_and_hide(dash_duo)
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])

dash_duo.find_element('#toggle-table').click()
# hidden_columns not persisted
check_table_names(dash_duo, ['x', 'b'])
check_table_names(dash_duo, [NEW_NAME, 'b'])

dash_duo.find_element('#toggle-table').click()
# back to original persisted_props hidden_columns returns
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])


def test_rdps006_move_on_page(dash_duo):
Expand Down Expand Up @@ -251,12 +253,12 @@ def find_last_div(n):
check_table_names(dash_duo, ['a', 'b'])

rename_and_hide(dash_duo)
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])

for i in range(1, 5):
dash_duo.find_element('#move-table').click()
find_last_div(i)
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])


def test_rdps007_one_prop_changed(dash_duo):
Expand All @@ -277,15 +279,15 @@ def hide_cols(n):
check_table_names(dash_duo, ['a', 'b'])

rename_and_hide(dash_duo)
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])

dash_duo.find_element('#hide-cols').click()
# hidden_columns gets the new value
check_table_names(dash_duo, ['b'])

dash_duo.find_element('#hide-cols').click()
# back to original hidden_columns, but saved value won't come back
check_table_names(dash_duo, ['x', 'b'])
check_table_names(dash_duo, [NEW_NAME, 'b'])


def test_rdps008_unsaved_part_changed(dash_duo):
Expand All @@ -310,17 +312,17 @@ def toggle_deletable(n):
check_table_names(dash_duo, ['a', 'b'])

rename_and_hide(dash_duo)
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])
assert len(dash_duo.find_elements('.column-header--delete')) == 0

dash_duo.find_element('#deletable').click()
# column names still persisted when columns.deletable changed
# because extracted name list didn't change
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])
assert len(dash_duo.find_elements('.column-header--delete')) == 1

dash_duo.find_element('#deletable').click()
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])
assert len(dash_duo.find_elements('.column-header--delete')) == 0


Expand All @@ -346,7 +348,7 @@ def reset_names(n):
check_table_names(dash_duo, ['a', 'b'])

rename_and_hide(dash_duo)
check_table_names(dash_duo, ['x'])
check_table_names(dash_duo, [NEW_NAME])

dash_duo.find_element('#reset-names').click()
# names are reset, but not hidden_columns
Expand Down

0 comments on commit 5fa4d55

Please sign in to comment.