Skip to content

Commit d81362b

Browse files
committed
Add ano line level e2e tests
1 parent 037330d commit d81362b

2 files changed

Lines changed: 127 additions & 48 deletions

File tree

tests/test_end_to_end.py

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
import re
2+
from playwright.sync_api import Page, expect
3+
4+
5+
def test_has_title(page: Page):
6+
page.goto("http://127.0.0.1:5000/dash/")
7+
8+
expect(page).to_have_title(re.compile("Home"))
9+
10+
11+
def test_can_create_project(page: Page):
12+
page.goto("http://127.0.0.1:5000/dash/")
13+
14+
page.get_by_role("button", name="Create a new project").click()
15+
page.get_by_label("Project name").fill("Test project")
16+
page.get_by_role("button", name="Create", exact=True).click()
17+
18+
locator = page.locator("#project-group li h4", has_text="Test project")
19+
expect(locator).to_be_visible()
20+
21+
22+
def test_can_run_file_count_analysis(page: Page):
23+
page.goto("http://127.0.0.1:5000/dash/")
24+
25+
page.get_by_role("button", name="Create a new project").click()
26+
page.get_by_label("Project name").fill("File count test")
27+
page.get_by_label("Base path").fill("./log_data/LO2")
28+
page.get_by_role("button", name="Create", exact=True).click()
29+
30+
project_link = page.locator("#project-group li a", has_text="File count test")
31+
project_link.click()
32+
33+
expect(page).to_have_url(re.compile("/dash/project/*"))
34+
35+
page.get_by_role("button", name="High Level Visualisations").click()
36+
page.get_by_role("link", name="Directory level").click()
37+
38+
expect(page).to_have_url(
39+
re.compile("/dash/analysis/directory-level-visualisations/create*")
40+
)
41+
42+
page.get_by_label("Analysis name").fill("Test file count")
43+
44+
page.click("#directory-high-dir-new")
45+
page.get_by_text("Labeled").click()
46+
47+
page.get_by_role("radio", name="Files & Lines").click()
48+
49+
page.get_by_role("button", name="Analyze").click()
50+
51+
expect(page).to_have_url(re.compile("/dash/project/*"))
52+
53+
analysis_loc = page.locator("#group-project li h4", has_text="Test file count")
54+
55+
expect(analysis_loc).to_be_visible() # Default timeout 5s
56+
57+
58+
def test_can_run_ano_line_level(page: Page):
59+
page.goto("http://127.0.0.1:5000/dash/")
60+
61+
page.get_by_role("button", name="Create a new project").click()
62+
page.get_by_label("Project name").fill("Ano Line Test")
63+
page.get_by_label("Base path").fill("./log_data/LO2")
64+
page.get_by_role("button", name="Create", exact=True).click()
65+
66+
project_link = page.locator("#project-group li a", has_text="Ano Line Test")
67+
project_link.click()
68+
69+
expect(page).to_have_url(re.compile("/dash/project/*"))
70+
71+
page.get_by_role("button", name="Anomaly Detection").click()
72+
page.get_by_role("link", name="Line Level").click()
73+
74+
expect(page).to_have_url(re.compile("/dash/analysis/ano-line-level/create*"))
75+
76+
page.get_by_label("Analysis name").fill("Test Ano")
77+
78+
page.click("#train-data-ano-line-new")
79+
page.get_by_text("Labeled").click()
80+
81+
page.click("#test-data-ano-line-new")
82+
page.get_by_text("Hidden_Group_1").click()
83+
84+
for i in range(1, 4):
85+
page.click("#filter-train-ano-line-new")
86+
page.get_by_text(f"correct_{i}").click()
87+
88+
for i in range(1, 4):
89+
page.click("#filter-ano-line-new")
90+
page.get_by_text(f"Run_{i}").click()
91+
92+
page.click("#mask-ano-line-new")
93+
page.get_by_text("Myllari", exact=True).click()
94+
95+
page.get_by_role("button", name="Analyze").click()
96+
97+
expect(page).to_have_url(re.compile("/dash/project/*"))
98+
99+
analysis_loc = page.locator("#group-project li h4", has_text="Test Ano")
100+
101+
expect(analysis_loc).to_be_visible(timeout=15000)
102+
103+
104+
def test_error_ano_line_with_bad_inputs(page: Page):
105+
page.goto("http://127.0.0.1:5000/dash/")
106+
107+
page.get_by_role("button", name="Create a new project").click()
108+
page.get_by_label("Project name").fill("Error Ano Line")
109+
page.get_by_label("Base path").fill("./log_data/LO2")
110+
page.get_by_role("button", name="Create", exact=True).click()
111+
112+
project_link = page.locator("#project-group li a", has_text="Error Ano Line")
113+
project_link.click()
114+
115+
expect(page).to_have_url(re.compile("/dash/project/*"))
116+
117+
page.get_by_role("button", name="Anomaly Detection").click()
118+
page.get_by_role("link", name="Line Level").click()
119+
120+
expect(page).to_have_url(re.compile("/dash/analysis/ano-line-level/create*"))
121+
122+
page.get_by_role("button", name="Analyze").click()
123+
124+
expect(page).to_have_url(re.compile("/dash/analysis/ano-line-level/create*"))
125+
126+
error_loc = page.locator("#error-toast-ano-line-new")
127+
expect(error_loc).to_be_visible()

tests/test_example_e2e.py

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)