46 lines
1.7 KiB
Python
46 lines
1.7 KiB
Python
|
|
# retoor <retoor@molodetz.nl>
|
||
|
|
|
||
|
|
from tests.conftest import BASE_URL
|
||
|
|
from devplacepy.database import get_table, refresh_snapshot
|
||
|
|
|
||
|
|
|
||
|
|
def _clear_isslop_data():
|
||
|
|
refresh_snapshot()
|
||
|
|
jobs = get_table("jobs")
|
||
|
|
for row in list(jobs.find(kind="isslop")):
|
||
|
|
jobs.delete(uid=row["uid"])
|
||
|
|
analyses = get_table("isslop_analyses")
|
||
|
|
for row in list(analyses.find()):
|
||
|
|
analyses.delete(uid=row["uid"])
|
||
|
|
|
||
|
|
|
||
|
|
def test_isslop_page_loads(page, app_server):
|
||
|
|
page.goto(f"{BASE_URL}/tools/isslop", wait_until="domcontentloaded")
|
||
|
|
page.locator("[data-isslop-tool]").wait_for(state="visible")
|
||
|
|
page.locator("[data-isslop-form] input[name='url']").wait_for(state="visible")
|
||
|
|
page.locator("[data-isslop-run]").wait_for(state="visible")
|
||
|
|
page.locator(".isslop-history-title").wait_for(state="visible")
|
||
|
|
|
||
|
|
|
||
|
|
def test_isslop_tools_menu_links_to_page(page, app_server):
|
||
|
|
page.goto(f"{BASE_URL}/tools", wait_until="domcontentloaded")
|
||
|
|
card = page.locator("a[href='/tools/isslop']").first
|
||
|
|
card.wait_for(state="visible")
|
||
|
|
|
||
|
|
|
||
|
|
def test_isslop_submit_opens_live_report(alice):
|
||
|
|
page, _user = alice
|
||
|
|
try:
|
||
|
|
page.goto(f"{BASE_URL}/tools/isslop", wait_until="domcontentloaded")
|
||
|
|
page.locator("[data-isslop-form] input[name='url']").fill(
|
||
|
|
"https://github.com/owner/repository"
|
||
|
|
)
|
||
|
|
page.locator("[data-isslop-run]").click()
|
||
|
|
page.wait_for_url("**/tools/isslop/*/report", wait_until="domcontentloaded")
|
||
|
|
page.locator("dp-isslop-run").wait_for(state="attached")
|
||
|
|
page.locator("[data-isslop-report] .sidebar-card").wait_for(state="visible")
|
||
|
|
page.locator(".breadcrumb").wait_for(state="visible")
|
||
|
|
page.locator(".isslop-feed-loader").wait_for(state="visible")
|
||
|
|
finally:
|
||
|
|
_clear_isslop_data()
|