standardize behave tests

This commit is contained in:
Jonathan Wren 2020-07-06 23:08:30 -07:00
parent 6b73eb786e
commit 131477c7e3
No known key found for this signature in database
GPG key ID: 43D5FF8722E7F68A
15 changed files with 291 additions and 309 deletions

View file

@ -1,29 +1,26 @@
Feature: Delete entries from journal
Scenario: --delete flag allows deletion of single entry
Given we use the config "deletion.yaml"
Then the journal should have 3 entries
When we run "jrnl -n 1"
Then the output should contain
"""
2019-10-29 11:13 Third entry.
"""
Then the output should contain "2019-10-29 11:13 Third entry."
When we run "jrnl --delete" and enter
"""
N
N
Y
"""
"""
N
N
Y
"""
Then the journal should have 2 entries
When we run "jrnl -n 1"
Then the output should contain
"""
2019-10-29 11:11 Second entry.
"""
Then the output should contain "2019-10-29 11:11 Second entry."
Scenario: Backing out of interactive delete does not change journal
Given we use the config "deletion.yaml"
Then the journal should have 3 entries
When we run "jrnl --delete -n 1" and enter
"""
N
"""
"""
N
"""
Then the journal should have 3 entries
And the journal should contain "[2019-10-29 11:11] First entry."
And the journal should contain "[2019-10-29 11:11] Second entry."
@ -31,119 +28,125 @@ Feature: Delete entries from journal
Scenario: --delete flag with nonsense input deletes nothing (issue #932)
Given we use the config "deletion.yaml"
Then the journal should have 3 entries
When we run "jrnl --delete asdfasdf"
Then the journal should have 3 entries
When we run "jrnl -n 1"
Then the output should contain
"""
2019-10-29 11:13 Third entry.
"""
And the journal should have 3 entries
Then the output should contain "2019-10-29 11:13 Third entry."
Scenario: --delete flag with tag only deletes tagged entries
Given we use the config "deletion_filters.yaml"
Then the journal should have 5 entries
When we run "jrnl --delete @holidays" and enter
"""
Y
Y
"""
"""
Y
Y
"""
Then the journal should have 3 entries
Then the journal should contain "[2019-10-01 08:00] It's just another day in October."
and the journal should contain "[2020-03-01 08:00] It's just another day in March."
and the journal should contain "[2020-05-02 12:10] Writing tests."
And the journal should contain "[2019-10-01 08:00] It's just another day in October."
And the journal should contain "[2020-03-01 08:00] It's just another day in March."
And the journal should contain "[2020-05-02 12:10] Writing tests."
Scenario: --delete flag with multiple tags deletes all entries matching any of the tags
Given we use the config "deletion_filters.yaml"
Then the journal should have 5 entries
When we run "jrnl --delete @holidays @springtime" and enter
"""
Y
Y
Y
"""
Then the journal should contain "[2019-10-01 08:00] It's just another day in October."
and the journal should not contain "[2020-01-01 08:00] Happy New Year!"
and the journal should contain "[2020-03-01 08:00] It's just another day in March."
and the journal should not contain "[2020-05-01 09:00] Happy May Day!"
and the journal should not contain "[2020-05-02 12:10] Writing tests. *"
and the journal should have 2 entries
"""
Y
Y
Y
"""
Then the journal should have 2 entries
And the journal should contain "[2019-10-01 08:00] It's just another day in October."
And the journal should contain "[2020-03-01 08:00] It's just another day in March."
But the journal should not contain "[2020-01-01 08:00] Happy New Year!"
But the journal should not contain "[2020-05-01 09:00] Happy May Day!"
But the journal should not contain "[2020-05-02 12:10] Writing tests. *"
Scenario: --delete flag with -and and tags only deletes boolean AND of tagged entries
Given we use the config "deletion_filters.yaml"
Then the journal should have 5 entries
When we run "jrnl --delete -and @holidays @springtime" and enter
"""
Y
"""
Then the journal should contain "[2019-10-01 08:00] It's just another day in October."
and the journal should contain "[2020-01-01 08:00] Happy New Year!"
and the journal should contain "[2020-03-01 08:00] It's just another day in March."
and the journal should not contain "[2020-05-01 09:00] Happy May Day!"
and the journal should contain "[2020-05-02 12:10] Writing tests. *"
and the journal should have 4 entries
"""
Y
"""
Then the journal should have 4 entries
And the journal should contain "[2019-10-01 08:00] It's just another day in October."
And the journal should contain "[2020-01-01 08:00] Happy New Year!"
And the journal should contain "[2020-03-01 08:00] It's just another day in March."
And the journal should contain "[2020-05-02 12:10] Writing tests. *"
But the journal should not contain "[2020-05-01 09:00] Happy May Day!"
Scenario: --delete flag with -not does not delete entries with -not tag
Given we use the config "deletion_filters.yaml"
Then the journal should have 5 entries
When we run "jrnl --delete @holidays -not @springtime" and enter
"""
Y
"""
Then the journal should contain "[2019-10-01 08:00] It's just another day in October."
and the journal should not contain "[2020-01-01 08:00] Happy New Year!"
and the journal should contain "[2020-03-01 08:00] It's just another day in March."
and the journal should contain "[2020-05-01 09:00] Happy May Day!"
and the journal should contain "[2020-05-02 12:10] Writing tests. *"
and the journal should have 4 entries
"""
Y
"""
Then the journal should have 4 entries
And the journal should contain "[2019-10-01 08:00] It's just another day in October."
And the journal should contain "[2020-03-01 08:00] It's just another day in March."
And the journal should contain "[2020-05-01 09:00] Happy May Day!"
And the journal should contain "[2020-05-02 12:10] Writing tests. *"
But the journal should not contain "[2020-01-01 08:00] Happy New Year!"
Scenario: --delete flag with -from only deletes entries since a specified date
Given we use the config "deletion_filters.yaml"
Then the journal should have 5 entries
When we run "jrnl --delete -from 2020-01-02" and enter
"""
Y
Y
Y
"""
Then the journal should contain "[2019-10-01 08:00] It's just another day in October."
and the journal should contain "[2020-01-01 08:00] Happy New Year!"
and the journal should not contain "[2020-03-01 08:00] It's just another day in March."
and the journal should not contain "[2020-05-01 09:00] Happy May Day!"
and the journal should not contain "[2020-05-02 12:10] Writing tests."
and the journal should have 2 entries
"""
Y
Y
Y
"""
Then the journal should have 2 entries
And the journal should contain "[2019-10-01 08:00] It's just another day in October."
And the journal should contain "[2020-01-01 08:00] Happy New Year!"
And the journal should not contain "[2020-03-01 08:00] It's just another day in March."
And the journal should not contain "[2020-05-01 09:00] Happy May Day!"
And the journal should not contain "[2020-05-02 12:10] Writing tests."
Scenario: --delete flag with -to only deletes entries up to specified date
Given we use the config "deletion_filters.yaml"
Then the journal should have 5 entries
When we run "jrnl --delete -to 2020-01-02" and enter
"""
Y
Y
"""
Then the journal should not contain "[2019-10-01 08:00] It's just another day in October."
and the journal should not contain "[2020-01-01 08:00] Happy New Year!"
and the journal should contain "[2020-03-01 08:00] It's just another day in March."
and the journal should contain "[2020-05-01 09:00] Happy May Day!"
and the journal should contain "[2020-05-02 12:10] Writing tests."
and the journal should have 3 entries
"""
Y
Y
"""
Then the journal should have 3 entries
And the journal should contain "[2020-03-01 08:00] It's just another day in March."
And the journal should contain "[2020-05-01 09:00] Happy May Day!"
And the journal should contain "[2020-05-02 12:10] Writing tests."
But the journal should not contain "[2019-10-01 08:00] It's just another day in October."
But the journal should not contain "[2020-01-01 08:00] Happy New Year!"
Scenario: --delete flag with -starred only deletes starred entries
Given we use the config "deletion_filters.yaml"
Then the journal should have 5 entries
When we run "jrnl --delete -starred" and enter
"""
Y
"""
Then the journal should contain "[2019-10-01 08:00] It's just another day in October."
and the journal should contain "[2020-01-01 08:00] Happy New Year!"
and the journal should contain "[2020-03-01 08:00] It's just another day in March."
and the journal should contain "[2020-05-01 09:00] Happy May Day!"
and the journal should not contain "[2020-05-02 12:10] Writing tests. *"
and the journal should have 4 entries
"""
Y
"""
Then the journal should have 4 entries
And the journal should contain "[2019-10-01 08:00] It's just another day in October."
And the journal should contain "[2020-01-01 08:00] Happy New Year!"
And the journal should contain "[2020-03-01 08:00] It's just another day in March."
And the journal should contain "[2020-05-01 09:00] Happy May Day!"
But the journal should not contain "[2020-05-02 12:10] Writing tests. *"
Scenario: --delete flag with -contains only entries containing expression
Given we use the config "deletion_filters.yaml"
Then the journal should have 5 entries
When we run "jrnl --delete -contains happy" and enter
"""
Y
Y
"""
Then the journal should contain "[2019-10-01 08:00] It's just another day in October."
and the journal should not contain "[2020-01-01 08:00] Happy New Year!"
and the journal should contain "[2020-03-01 08:00] It's just another day in March."
and the journal should not contain "[2020-05-01 09:00] Happy May Day!"
and the journal should contain "[2020-05-02 12:10] Writing tests. *"
and the journal should have 3 entries
"""
Y
Y
"""
Then the journal should have 3 entries
And the journal should contain "[2019-10-01 08:00] It's just another day in October."
And the journal should contain "[2020-03-01 08:00] It's just another day in March."
And the journal should contain "[2020-05-02 12:10] Writing tests. *"
But the journal should not contain "[2020-01-01 08:00] Happy New Year!"
But the journal should not contain "[2020-05-01 09:00] Happy May Day!"