Path:
tests/end2end/screens/project_statistics/view_project_statistics/test_case.py
Lines:
66
Non-empty lines:
57
Non-empty lines covered with requirements:
57 / 57 (100.0%)
Functions:
2
Functions covered by requirements:
2 / 2 (100.0%)
1
"""2
@relation(SDOC-SRS-97, scope=file)3
"""4
5
import os
6
7
from tests.end2end.e2e_case import E2ECase
8
from tests.end2end.helpers.screens.project_index.screen_project_index import (
9
Screen_ProjectIndex,
10
)11
from tests.end2end.helpers.screens.project_statistics.project_statistics import (
12
Screen_ProjectStatistics,
13
)14
from tests.end2end.helpers.screens.search.search import Screen_SearchResults
15
from tests.end2end.server import SDocTestServer
16
17
path_to_this_test_file_folder = os.path.dirname(os.path.abspath(__file__))
18
19
20
class Test(E2ECase):
21
expected_search_results = [
22
("search-total-sections", 2),
23
("search-sections-without-any-text", 2),
24
("search-total-requirements", 5),
25
("search-requirements-with-no-uid", 2),
26
(27
"search-root-level-requirements-not-connected-to-by-any-requirement",
28
0,
29
),30
(31
"search-non-root-level-requirements-not-connected-to-any-parent-requirement",
32
4,
33
),34
("search-requirements-with-no-rationale", 4),
35
("search-requirements-with-status-none", 1),
36
("search-requirements-with-status-active", 1),
37
("search-requirements-with-status-draft", 1),
38
("search-requirements-with-status-backlog", 1),
39
("search-requirements-with-status-other", 1),
40
("search-total-tbd", 2),
41
("search-total-tbc", 1),
42
]43
44
def test(self):
45
with SDocTestServer(
46
input_path=path_to_this_test_file_folder
47
) as test_server:
48
self.open(test_server.get_host_and_port())
49
50
screen_project_index = Screen_ProjectIndex(self)
51
screen_project_index.assert_on_screen()
52
screen_project_index.assert_link_to_project_statistics_present()
53
54
screen_requirements_coverage: Screen_ProjectStatistics = (
55
screen_project_index.do_click_on_project_statistics_link()
56
)57
screen_requirements_coverage.assert_on_screen()
58
59
for test_id, nr_results in self.expected_search_results:
60
screen_search_results: Screen_SearchResults = (
61
screen_requirements_coverage.do_click_on_search_link(
62
test_id63
)64
)65
screen_search_results.assert_nr_results(nr_results)
66
self.go_back()