mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-19 04:28:31 +02:00
[Test] behave tests pass locally
This commit is contained in:
parent
9888d98860
commit
e64ca2d5b7
4 changed files with 35 additions and 0 deletions
|
@ -26,6 +26,7 @@ Feature: Custom formats
|
|||
| basic_folder |
|
||||
| basic_dayone |
|
||||
|
||||
@skip_no_external_plugins
|
||||
Scenario Outline: JSON format
|
||||
Given we use the config "<config>.yaml"
|
||||
And we use the password "test" if prompted
|
||||
|
@ -48,6 +49,7 @@ Feature: Custom formats
|
|||
| basic_folder |
|
||||
| basic_dayone |
|
||||
|
||||
@skip_no_external_plugins
|
||||
Scenario: Exporting dayone to json
|
||||
Given we use the config "dayone.yaml"
|
||||
When we run "jrnl --export json"
|
||||
|
@ -91,6 +93,7 @@ Feature: Custom formats
|
|||
| basic_folder |
|
||||
| basic_dayone |
|
||||
|
||||
@skip_no_external_plugins
|
||||
Scenario Outline: Exporting using filters should only export parts of the journal
|
||||
Given we use the config "<config>.yaml"
|
||||
And we use the password "test" if prompted
|
||||
|
|
|
@ -64,3 +64,23 @@ Feature: Functionality of Importer and Exporter Plugins
|
|||
| plugin_name | version | source | type | filename |
|
||||
| json | <pyproject.toml version> | plugins | exporter | json |
|
||||
| txt | <pyproject.toml version> | plugins | exporter | text |
|
||||
|
||||
|
||||
@skip_only_with_external_plugins
|
||||
Scenario Outline: JSON format
|
||||
Given we use the config "<config>.yaml"
|
||||
And we use the password "test" if prompted
|
||||
When we run "jrnl --format json"
|
||||
Then we should get no error
|
||||
And the output should be parsable as json
|
||||
And "entries" in the json output should have 3 elements
|
||||
And entry 1 should not have an array "tags"
|
||||
And entry 2 should not have an array "tags"
|
||||
And entry 3 should not have an array "tags"
|
||||
|
||||
Examples: configs
|
||||
| config |
|
||||
| basic_onefile |
|
||||
| basic_encrypted |
|
||||
| basic_folder |
|
||||
| basic_dayone |
|
||||
|
|
|
@ -89,6 +89,16 @@ def entry_array_count(context, entry_number, name, items_number):
|
|||
assert len(out_json["entries"][entry_number - 1][name]) == items_number
|
||||
|
||||
|
||||
@then(
|
||||
'entry {entry_number:d} should not have an array "{name}"'
|
||||
)
|
||||
def entry_not_array_item(context, entry_number, name):
|
||||
# note that entry_number is 1-indexed.
|
||||
out = context.stdout_capture.getvalue()
|
||||
out_json = json.loads(out)
|
||||
assert (name not in out_json["entries"][entry_number - 1])
|
||||
|
||||
|
||||
@then("the output should be a valid XML string")
|
||||
def assert_valid_xml_string(context):
|
||||
output = context.stdout_capture.getvalue()
|
||||
|
|
|
@ -183,6 +183,8 @@ Feature: Writing new entries.
|
|||
And we run "jrnl -until 1980"
|
||||
Then the output should be "1979-05-01 09:00 Being born hurts."
|
||||
|
||||
# the testing plugins override the JSON exporter
|
||||
@skip_no_external_plugins
|
||||
Scenario: Writing into Dayone adds extended metadata
|
||||
Given we use the config "dayone.yaml"
|
||||
When we run "jrnl 01 may 1979: Being born hurts."
|
||||
|
|
Loading…
Add table
Reference in a new issue