From 1fbb78852829bc1579f32b8163a022d01130881a Mon Sep 17 00:00:00 2001 From: Jonathan Wren Date: Sat, 15 Jan 2022 14:45:00 -0800 Subject: [PATCH] Unskip some tests (#1399) * remove skip_editor test and tag * remove useless test * unskip blank input test * formatting * rename test so it doesn't overwrite other test * unskip some dayone tests that now work --- tests/bdd/features/format.feature | 55 +++++++------------------------ tests/bdd/features/write.feature | 25 +++++++------- tests/conftest.py | 4 --- tests/lib/when_steps.py | 7 ++-- 4 files changed, 28 insertions(+), 63 deletions(-) diff --git a/tests/bdd/features/format.feature b/tests/bdd/features/format.feature index 36a89747..18426674 100644 --- a/tests/bdd/features/format.feature +++ b/tests/bdd/features/format.feature @@ -144,12 +144,11 @@ Feature: Custom formats | basic_folder.yaml | | basic_dayone.yaml | - @skip_editor # .TODO return after editor steps implemented Scenario Outline: Increasing Headings on Markdown export Given we use the config "" And we use the password "test" if prompted - When we open the editor and append - [2020-10-14 13:23] Heading Test + Given we append to the editor if opened + [2021-10-14 13:23] Heading Test H1-1 = @@ -191,13 +190,15 @@ Feature: Custom formats More stuff more stuff again + When we run "jrnl --edit -1" + Then the editor should have been called When we run "jrnl -1 --export markdown" Then the output should be - # 2020 + # 2021 ## October - ### 2020-10-14 13:23 Heading Test + ### 2021-10-14 13:23 Heading Test #### H1-1 @@ -241,38 +242,6 @@ Feature: Custom formats | basic_folder.yaml | # | basic_dayone.yaml | @todo - @skip_editor # .TODO return after editor steps implemented - Scenario Outline: Add a blank line to Markdown export if there isn't one already - # https://github.com/jrnl-org/jrnl/issues/768 - # https://github.com/jrnl-org/jrnl/issues/881 - Given we use the config "" - And we use the password "test" if prompted - When we open the editor and append - [2020-10-29 11:11] First entry. - [2020-10-29 11:11] Second entry. - [2020-10-29 11:13] Third entry. - When we run "jrnl -3 --format markdown" - Then the output should be - # 2020 - - ## October - - ### 2020-10-29 11:11 First entry. - - - ### 2020-10-29 11:11 Second entry. - - - ### 2020-10-29 11:13 Third entry. - - - Examples: configs - | config_file | - | basic_onefile.yaml | - | basic_encrypted.yaml | - | basic_folder.yaml | - # | basic_dayone.yaml | @todo - @skip Scenario Outline: Exporting to XML Given we use the config "" @@ -288,13 +257,13 @@ Feature: Custom formats And there should be 10 "tag" elements Examples: configs - | config_file | - # | basic_onefile.yaml | @todo - # | basic_encrypted.yaml | @todo - # | basic_folder.yaml | @todo - # | basic_dayone.yaml | @todo + | config_file | + | basic_onefile.yaml | + | basic_encrypted.yaml | + | basic_folder.yaml | + | basic_dayone.yaml | - Scenario: Exporting to XML + Scenario: Exporting to XML single Given we use the config "tags.yaml" And we use the password "test" if prompted When we run "jrnl --export xml" diff --git a/tests/bdd/features/write.feature b/tests/bdd/features/write.feature index a2c2a85b..5ed1d44b 100644 --- a/tests/bdd/features/write.feature +++ b/tests/bdd/features/write.feature @@ -89,21 +89,22 @@ Feature: Writing new entries. | basic_encrypted.yaml | | basic_onefile.yaml | - @skip + Scenario Outline: Writing an empty entry from the command line with no editor should yield nothing Given we use the config "" - And we use the password "bad doggie no biscuit" if prompted - When we run "jrnl" and enter nothing - Then the output should be empty + And we use the password "test" if prompted + When we run "jrnl --config-override editor ''" and enter "" + Then the stdin prompt should have been called + And the output should be empty And the error output should contain "Writing Entry; on a blank line" And the editor should not have been called Examples: configs - | config_file | - | config_simple.yaml | - | empty_folder.yaml | - | encrypted.yaml | - # | dayone | @todo + | config_file | + | basic_onefile.yaml | + | basic_encrypted.yaml | + | basic_folder.yaml | + | basic_dayone.yaml | Scenario Outline: Writing an entry does not print the entire journal # https://github.com/jrnl-org/jrnl/issues/87 @@ -212,7 +213,7 @@ Feature: Writing new entries. When we run "jrnl -1" Then the output should be "2013-07-23 09:00 Testing folder journal." - Scenario Outline: Correctly count when adding a single entry via --edit + Scenario Outline: Count when adding a single entry via --edit Given we use the config "" And we use the password "test" if prompted And we append to the editor if opened @@ -282,7 +283,7 @@ Feature: Writing new entries. #| basic_dayone.yaml | @todo - Scenario Outline: Correctly count modification when running --edit on whole journal and adding to last entry + Scenario Outline: Count modifications when editing whole journal and adding to last entry Given we use the config "" And we use the password "test" if prompted And we append to the editor if opened @@ -296,4 +297,4 @@ Feature: Writing new entries. | basic_onefile.yaml | | basic_encrypted.yaml | | basic_folder.yaml | - #| basic_dayone.yaml | @todo + | basic_dayone.yaml | diff --git a/tests/conftest.py b/tests/conftest.py index 277e2602..fbbc3068 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -17,10 +17,6 @@ pytest_plugins = [ def pytest_bdd_apply_tag(tag, function): if tag == "skip_win": marker = mark.skipif(on_windows(), reason="Skip test on Windows") - elif tag == "skip_editor": - marker = mark.skip( - reason="Skipping editor-related test. We should come back to this!" - ) else: # Fall back to pytest-bdd's default behavior return None diff --git a/tests/lib/when_steps.py b/tests/lib/when_steps.py index c1d391a5..60302c7c 100644 --- a/tests/lib/when_steps.py +++ b/tests/lib/when_steps.py @@ -20,14 +20,13 @@ def when_we_change_directory(directory_name): # These variables are used in the `@when(re(...))` section below -command = '(?P[^"]+)' +command = '(?P[^"]*)' input_method = "(?Penter|pipe)" -user_input = '(?P[^"]+)' +user_input = '("(?P[^"]*)")' @when(parse('we run "jrnl {command}" and {input_method}\n{user_input}')) -@when(re(f'we run "jrnl {command}" and {input_method} "{user_input}"')) -@when(re(f'we run "jrnl" and {input_method} "{user_input}"')) +@when(re(f'we run "jrnl ?{command}" and {input_method} {user_input}')) @when(parse('we run "jrnl {command}"')) @when('we run "jrnl"') def we_run_jrnl(cli_run, capsys, keyring):