Path:
tests/end2end/screens/document/clone_node/clone_node_PREFIX_is_None/test_case.py
Lines:
58
Non-empty lines:
45
Non-empty lines covered with requirements:
45 / 45 (100.0%)
Functions:
2
Functions covered by requirements:
2 / 2 (100.0%)
1
"""2
@relation(SDOC-SRS-161, scope=file)3
"""4
5
from selenium.webdriver.common.by import By
6
7
from tests.end2end.e2e_case import E2ECase
8
from tests.end2end.end2end_test_setup import End2EndTestSetup
9
from tests.end2end.helpers.screens.project_index.screen_project_index import (
10
Screen_ProjectIndex,
11
)12
from tests.end2end.server import SDocTestServer
13
14
15
class Test(E2ECase):
16
def test(self):
17
test_setup = End2EndTestSetup(path_to_test_file=__file__)
18
19
with SDocTestServer(
20
input_path=test_setup.path_to_sandbox
21
) as test_server:
22
self.open(test_server.get_host_and_port())
23
24
screen_project_index = Screen_ProjectIndex(self)
25
26
screen_project_index.assert_on_screen()
27
screen_project_index.assert_contains_document("Document 1")
28
29
screen_document = screen_project_index.do_click_on_first_document()
30
31
screen_document.assert_on_screen_document()
32
screen_document.assert_header_document_title("Document 1")
33
34
# Assert clone button exists on Requirement35
self.assert_element_present(
36
"//*[@data-testid='node-requirement']//*[@data-testid='node-clone-action']",
37
by=By.XPATH,
38
)39
# Assert clone button does not exist on Section40
self.assert_element_not_present(
41
"//*[@data-testid='node-section']//*[@data-testid='node-clone-action']",
42
by=By.XPATH,
43
)44
45
requirement = screen_document.get_node(2)
46
requirement.assert_requirement_title("Requirement title", "2")
47
requirement.assert_requirement_uid_contains("REQ-1")
48
requirement.assert_requirement_statement_contains(
49
"Requirement statement."50
)51
requirement.assert_requirement_rationale_contains(
52
"Requirement rationale."53
)54
55
form_cloned_requirement = requirement.do_clone_requirement()
56
form_cloned_requirement.do_form_submit()
57
58
assert test_setup.compare_sandbox_and_expected_output()