aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_item_list.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/test_item_list.py')
-rw-r--r--test/unit/test_item_list.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/test/unit/test_item_list.py b/test/unit/test_item_list.py
index 62ec84e..faef1c0 100644
--- a/test/unit/test_item_list.py
+++ b/test/unit/test_item_list.py
@@ -111,9 +111,6 @@ def test_item_list_ordering(driver, execute_in_page, item_type):
'files': sample_files_by_hash
}
- def is_prime(n):
- return n > 1 and all([n % i != 0 for i in range(2, n)])
-
indexes_added = set()
for iteration, to_include in enumerate([
set([i for i in range(len(items)) if is_prime(i)]),
@@ -122,10 +119,10 @@ def test_item_list_ordering(driver, execute_in_page, item_type):
set([i for i in range(len(items)) if i % 3 == 0]),
set([i for i in range(len(items))
if i % 3 and not i & 1 and not is_prime(i)]),
- set(range(16))
+ set(range(len(items)))
]):
# On the last iteration, re-add ALL items but with changed names.
- if len(to_include) == 16:
+ if len(to_include) == len(items):
for it in items:
it['long_name'] = f'somewhat renamed {it["long_name"]}'
@@ -198,14 +195,15 @@ def test_item_list_displaying(driver, execute_in_page, item_type):
}
sample_data[item_type + 's'] = sample_data_dict(items)
- preview_container, dialog_container = execute_in_page(
+ preview_container, dialog_container, ul = execute_in_page(
f'''
let list_ctx, sample_data = arguments[0];
async function create_list() {{
await haketilodb.save_items(sample_data);
list_ctx = await {item_type}_list();
document.body.append(list_ctx.main_div);
- return [list_ctx.preview_container, list_ctx.dialog_container];
+ return [list_ctx.preview_container, list_ctx.dialog_container,
+ list_ctx.ul];
}}
returnval(create_list());
''',
@@ -235,6 +233,7 @@ def test_item_list_displaying(driver, execute_in_page, item_type):
# Check that item removal confirmation dialog is displayed correctly.
execute_in_page('list_ctx.remove_but.click();')
WebDriverWait(driver, 10).until(lambda _: dialog_container.is_displayed())
+ assert 'list_disabled' in ul.get_attribute('class')
assert not preview_container.is_displayed()
msg = execute_in_page('returnval(list_ctx.dialog_ctx.msg.textContent);')
assert msg == "Are you sure you want to delete 'item2'?"
@@ -242,6 +241,7 @@ def test_item_list_displaying(driver, execute_in_page, item_type):
# Check that previewing other item is impossible while dialog is open.
execute_in_page('list_ctx.ul.children[0].click();')
assert dialog_container.is_displayed()
+ assert 'list_disabled' in ul.get_attribute('class')
assert not preview_container.is_displayed()
# Check that queuing multiple removal confirmation dialogs is impossible.
@@ -252,6 +252,7 @@ def test_item_list_displaying(driver, execute_in_page, item_type):
execute_in_page('list_ctx.dialog_ctx.no_but.click();')
WebDriverWait(driver, 10).until(lambda _: preview_container.is_displayed())
assert not dialog_container.is_displayed()
+ assert 'list_disabled' not in ul.get_attribute('class')
assert execute_in_page('returnval(list_ctx.ul.children.length);') == 3
# Check that item removal works properly.
@@ -268,6 +269,7 @@ def test_item_list_displaying(driver, execute_in_page, item_type):
WebDriverWait(driver, 10).until(item_deleted)
assert not dialog_container.is_displayed()
assert not preview_container.is_displayed()
+ assert 'list_disabled' not in ul.get_attribute('class')
execute_in_page('list_ctx.ul.children[1].click();')
@@ -285,6 +287,7 @@ def test_item_list_displaying(driver, execute_in_page, item_type):
sample_files['LICENSES/CC0-1.0.txt']['hash_key'])
driver.find_element_by_link_text('LICENSES/CC0-1.0.txt').click()
WebDriverWait(driver, 10).until(lambda _: dialog_container.is_displayed())
+ assert 'list_disabled' in ul.get_attribute('class')
assert not preview_container.is_displayed()
msg = execute_in_page('returnval(list_ctx.dialog_ctx.msg.textContent);')