diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-01-25 09:37:34 +0100 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-01-25 09:37:34 +0100 |
commit | b75a5717a084c9e5a727c2e960f2b910abcb5ace (patch) | |
tree | a9dcd00c428aeba011e9a445b96aacad962a1f3d /test/unit/test_install.py | |
parent | 7218849ae2f43aee6b3462a30e07caf5bac3d22b (diff) | |
download | browser-extension-b75a5717a084c9e5a727c2e960f2b910abcb5ace.tar.gz browser-extension-b75a5717a084c9e5a727c2e960f2b910abcb5ace.zip |
add a repo querying HTML interface
Diffstat (limited to 'test/unit/test_install.py')
-rw-r--r-- | test/unit/test_install.py | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/test/unit/test_install.py b/test/unit/test_install.py index cb8fe36..303d31a 100644 --- a/test/unit/test_install.py +++ b/test/unit/test_install.py @@ -25,31 +25,21 @@ from ..extension_crafting import ExtraHTML from ..script_loader import load_script from .utils import * -def content_script(): - script = load_script('content/repo_query_cacher.js') - return f'{script}; {tab_id_asker}; start();' - -def background_script(): - script = load_script('background/broadcast_broker.js', - '#IMPORT background/CORS_bypass_server.js') - return f'{script}; {tab_id_responder}; start(); CORS_bypass_server.start();' - def setup_view(driver, execute_in_page): - tab_id = run_content_script_in_new_window(driver, 'https://gotmyowndoma.in') + mock_cacher(execute_in_page) execute_in_page(load_script('html/install.js')) container_ids, containers_objects = execute_in_page( ''' const cb_calls = []; - const install_view = new InstallView(arguments[0], + const install_view = new InstallView(0, () => cb_calls.push("show"), () => cb_calls.push("hide")); document.body.append(install_view.main_div); const ets = () => install_view.item_entries; const shw = slice => [cb_calls.slice(slice || 0), install_view.shown]; returnval([container_ids, container_ids.map(cid => install_view[cid])]); - ''', - tab_id) + ''') containers = dict(zip(container_ids, containers_objects)) @@ -60,8 +50,7 @@ def setup_view(driver, execute_in_page): return containers, assert_container_displayed install_ext_data = { - 'content_script': content_script, - 'background_script': background_script, + 'background_script': broker_js, 'extra_html': ExtraHTML('html/install.html', {}), 'navigate_to': 'html/install.html' } @@ -148,7 +137,7 @@ def test_install_normal_usage(driver, execute_in_page, complex_variant): execute_in_page('returnval(install_view.install_but);').click() installed = lambda d: 'ly installed!' in containers['dialog_container'].text - WebDriverWait(driver, 10000).until(installed) + WebDriverWait(driver, 10).until(installed) assert execute_in_page('returnval(shw(2));') == [['show'], True] execute_in_page('returnval(install_view.dialog_ctx.ok_but);').click() @@ -188,10 +177,15 @@ def test_install_normal_usage(driver, execute_in_page, complex_variant): # All items are up to date - verify dialog is instead shown in this case. execute_in_page('install_view.show(...arguments);', 'https://hydril.la/', 'mapping', root_mapping_id) - assert execute_in_page('returnval(shw(6));') == [['show'], True] - assert_container_displayed('dialog_container') + + fetched = lambda d: 'Fetching ' not in containers['dialog_container'].text + WebDriverWait(driver, 10).until(fetched) + assert 'Nothing to do - packages already installed.' \ in containers['dialog_container'].text + assert_container_displayed('dialog_container') + + assert execute_in_page('returnval(shw(6));') == [['show'], True] execute_in_page('returnval(install_view.dialog_ctx.ok_but);').click() assert execute_in_page('returnval(shw(6));') == [['show', 'hide'], False] |