From 40a1a871cbed2f6afd520aaa464e347a4d2dc37f Mon Sep 17 00:00:00 2001 From: Micah Jerome Ellison Date: Tue, 23 Feb 2021 20:10:19 -0800 Subject: [PATCH] Migrate the rest of the delete tests from behave to pytest bdd Co-authored-by: Jonathan Wren --- tests/features/delete.feature | 135 +++++++++++++++++++++++++++++++++- 1 file changed, 132 insertions(+), 3 deletions(-) diff --git a/tests/features/delete.feature b/tests/features/delete.feature index 0613c826..f46ef866 100644 --- a/tests/features/delete.feature +++ b/tests/features/delete.feature @@ -19,7 +19,8 @@ Feature: Delete entries from journal | basic_encrypted.yaml | # | basic_folder.yaml | @todo # | basic_dayone.yaml | @todo - + + Scenario Outline: Backing out of interactive delete does not change journal Given we use the config "" When we run "jrnl --delete -n 1" and enter @@ -36,7 +37,7 @@ Feature: Delete entries from journal | basic_folder.yaml | | basic_dayone.yaml | - + Scenario Outline: Delete flag with nonsense input deletes nothing (issue #932) Given we use the config "" When we run "jrnl --delete asdfasdf" @@ -50,4 +51,132 @@ Feature: Delete entries from journal | config_file | | basic_onefile.yaml | | basic_folder.yaml | - | basic_dayone.yaml | \ No newline at end of file + | basic_dayone.yaml | + + + Scenario Outline: Delete flag with tag only deletes tagged entries + Given we use the config "" + When we run "jrnl --delete @ipsum" and enter + Y + When we run "jrnl -99 --short" + Then the output should be + 2020-08-31 14:32 A second entry in what I hope to be a long series. + 2020-09-24 09:14 The third entry finally after weeks without writing. + + Examples: Configs + | config_file | + | basic_onefile.yaml | + # | basic_folder.yaml | @todo + # | basic_dayone.yaml | @todo + + + Scenario Outline: Delete flag with multiple tags deletes all entries matching any of the tags + Given we use the config "" + When we run "jrnl --delete @ipsum @tagthree" and enter + Y + Y + When we run "jrnl -99 --short" + Then the output should be + 2020-08-31 14:32 A second entry in what I hope to be a long series. + + Examples: Configs + | config_file | + | basic_onefile.yaml | + # | basic_folder.yaml | @todo + # | basic_dayone.yaml | @todo + + + Scenario Outline: Delete flag with -and deletes boolean AND of tagged entries + Given we use the config "" + When we run "jrnl --delete -and @tagone @tagtwo" and enter + Y + When we run "jrnl -99 --short" + Then the output should be + 2020-08-31 14:32 A second entry in what I hope to be a long series. + 2020-09-24 09:14 The third entry finally after weeks without writing. + + Examples: Configs + | config_file | + | basic_onefile.yaml | + # | basic_folder.yaml | @todo + # | basic_dayone.yaml | @todo + + + Scenario Outline: Delete flag with -not does not delete entries from given tag + Given we use the config "" + When we run "jrnl --delete @tagone -not @ipsum" and enter + Y + When we run "jrnl -99 --short" + Then the output should be + 2020-08-29 11:11 Entry the first. + 2020-08-31 14:32 A second entry in what I hope to be a long series. + + Examples: Configs + | config_file | + | basic_onefile.yaml | + # | basic_folder.yaml | @todo + # | basic_dayone.yaml | @todo + + + Scenario Outline: Delete flag with -from search operator only deletes entries since that date + Given we use the config "" + When we run "jrnl --delete -from 2020-09-01" and enter + Y + When we run "jrnl -99 --short" + Then the output should be + 2020-08-29 11:11 Entry the first. + 2020-08-31 14:32 A second entry in what I hope to be a long series. + + Examples: Configs + | config_file | + | basic_onefile.yaml | + # | basic_folder.yaml | @todo + # | basic_dayone.yaml | @todo + + + Scenario Outline: Delete flag with -to only deletes entries up to specified date + Given we use the config "" + When we run "jrnl --delete -to 2020-08-31" and enter + Y + Y + When we run "jrnl -99 --short" + Then the output should be + 2020-09-24 09:14 The third entry finally after weeks without writing. + + Examples: Configs + | config_file | + | basic_onefile.yaml | + # | basic_folder.yaml | @todo + # | basic_dayone.yaml | @todo + + + Scenario Outline: Delete flag with -starred only deletes starred entries + Given we use the config "" + When we run "jrnl --delete -starred" and enter + Y + When we run "jrnl -99 --short" + Then the output should be + 2020-08-29 11:11 Entry the first. + 2020-09-24 09:14 The third entry finally after weeks without writing. + + Examples: Configs + | config_file | + | basic_onefile.yaml | + # | basic_folder.yaml | @todo + # | basic_dayone.yaml | @todo + + + Scenario Outline: Delete flag with -contains only entries containing expression + Given we use the config "" + When we run "jrnl --delete -contains dignissim" and enter + Y + When we run "jrnl -99 --short" + Then the output should be + 2020-08-31 14:32 A second entry in what I hope to be a long series. + 2020-09-24 09:14 The third entry finally after weeks without writing. + + Examples: Configs + | config_file | + | basic_onefile.yaml | + # | basic_folder.yaml | @todo + # | basic_dayone.yaml | @todo