Skip to content

Commit

Permalink
xml test
Browse files Browse the repository at this point in the history
  • Loading branch information
eshrh committed May 30, 2020
1 parent e134f01 commit 951a4a3
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
1 change: 1 addition & 0 deletions features/exporting.feature
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ Feature: Exporting a Journal
Then the output should be a valid XML string
And "entries" node in the xml output should have 2 elements
And "tags" in the xml output should contain ["@idea", "@journal", "@dan"]
And there should be 7 "tag" elements

Scenario: Exporting tags
Given we use the config "tags.yaml"
Expand Down
14 changes: 10 additions & 4 deletions features/steps/export_steps.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,23 @@ def assert_valid_xml_string(context):
assert xml_tree, output


@then('"entries" node in the xml output should have {number:d} elements')
def assert_xml_output_entries_count(context, number):
@then('"{item}" node in the xml output should have {number:d} elements')
def assert_xml_output_entries_count(context, item, number):
output = context.stdout_capture.getvalue()
xml_tree = ElementTree.fromstring(output)

xml_tags = (node.tag for node in xml_tree)
assert "entries" in xml_tags, str(list(xml_tags))
assert item in xml_tags, str(list(xml_tags))

actual_entry_count = len(xml_tree.find("entries"))
actual_entry_count = len(xml_tree.find(item))
assert actual_entry_count == number, actual_entry_count

@then('there should be {number:d} "{item}" elements')
def count_elements(context,number,item):
output = context.stdout_capture.getvalue()
xml_tree = ElementTree.fromstring(output)
assert len(xml_tree.findall(".//"+item))==number


@then('"tags" in the xml output should contain {expected_tags_json_list}')
def assert_xml_output_tags(context, expected_tags_json_list):
Expand Down

0 comments on commit 951a4a3

Please sign in to comment.