Update search features to use new steps

Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
This commit is contained in:
Micah Jerome Ellison 2021-04-24 15:06:54 -07:00 committed by Jonathan Wren
parent 3ddfb4d594
commit d15e683955

View file

@ -1,7 +1,7 @@
Feature: Searching in a journal
Scenario Outline: Displaying entries using -on today should display entries created today
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl today: Adding an entry right now."
Then we should see the message "Entry added"
When we run "jrnl -on today"
@ -10,13 +10,13 @@ Feature: Searching in a journal
And the output should not contain "Life is good"
Examples: configs
| config |
| simple |
| empty_folder |
| dayone |
| config_file |
| simple.yaml |
| empty_folder.yaml |
| dayone.yaml |
Scenario Outline: Displaying entries using -from day should display correct entries
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl yesterday: This thing happened yesterday"
Then we should see the message "Entry added"
When we run "jrnl today at 11:59pm: Adding an entry right now."
@ -29,13 +29,13 @@ Feature: Searching in a journal
And the output should not contain "This thing happened yesterday"
Examples: configs
| config |
| simple |
| empty_folder |
| dayone |
| config_file |
| simple.yaml |
| empty_folder.yaml |
| dayone.yaml |
Scenario Outline: Displaying entries using -from and -to day should display correct entries
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl yesterday: This thing happened yesterday"
Then we should see the message "Entry added"
When we run "jrnl today at 11:59pm: Adding an entry right now."
@ -48,75 +48,72 @@ Feature: Searching in a journal
And the output should not contain "A future entry."
Examples: configs
| config |
| simple |
| empty_folder |
| dayone |
| config_file |
| simple.yaml |
| empty_folder.yaml |
| dayone.yaml |
Scenario Outline: Searching for a string
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl -contains first --short"
Then we should get no error
And the output should be
"""
2020-08-29 11:11 Entry the first.
"""
2020-08-29 11:11 Entry the first.
Examples: configs
| config |
| basic_onefile |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Searching for a string within tag results
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl @tagone -contains maybe"
Then we should get no error
And the output should contain "maybe"
Examples: configs
| config |
| basic_onefile |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Searching for a string within AND tag results
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl -and @tagone @tagtwo -contains maybe"
Then we should get no error
And the output should contain "maybe"
Examples: configs
| config |
| basic_onefile |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Searching for a string within NOT tag results
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl -not @tagone -contains lonesome"
Then we should get no error
And the output should contain "lonesome"
Examples: configs
| config |
| basic_onefile |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Searching for dates
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl -on 2020-08-31 --short"
Then the output should be "2020-08-31 14:32 A second entry in what I hope to be a long series."
Then we flush the output
When we run "jrnl -on 'august 31 2020' --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 |
| basic_onefile |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario: Out of order entries to a Folder journal should be listed in date order
Given we use the config "empty_folder.yaml"
@ -126,74 +123,64 @@ Feature: Searching in a journal
Then we should see the message "Entry added"
When we run "jrnl -2"
Then the output should be
"""
2013-07-23 09:00 Testing folder journal.
2013-07-23 09:00 Testing folder journal.
2014-03-07 16:37 Second entry of journal.
"""
2014-03-07 16:37 Second entry of journal.
Scenario Outline: Searching for all tags should show counts of each tag
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl --tags"
Then we should get no error
And the output should be
"""
@tagtwo : 2
@tagone : 2
@tagthree : 1
@ipsum : 1
"""
@tagtwo : 2
@tagone : 2
@tagthree : 1
@ipsum : 1
Examples: configs
| config |
| basic_onefile |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Filtering journals should also filter tags
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl -from 'september 2020' --tags"
Then we should get no error
And the output should be
"""
@tagthree : 1
@tagone : 1
"""
@tagthree : 1
@tagone : 1
Examples: configs
| config |
| basic_onefile |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Excluding a tag should filter out all entries with that tag
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl --tags -not @tagtwo"
Then the output should be
"""
@tagthree : 1
@tagone : 1
"""
@tagthree : 1
@tagone : 1
Examples: configs
| config |
| basic_onefile |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Excluding multiple tags should filter out all entries with those tags
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
When we run "jrnl --tags -not @tagone -not @tagthree"
Then the output should be
"""
@tagtwo : 1
"""
@tagtwo : 1
Examples: configs
| config |
| basic_onefile |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario: DayOne tag searching should work with tags containing a mixture of upper and lower case.
# https://github.com/jrnl-org/jrnl/issues/354
@ -206,113 +193,101 @@ Feature: Searching in a journal
When we run "jrnl -2"
Then we should get no error
And the output should be
"""
2013-06-09 15:39 My first entry.
| Everything is alright
2013-06-09 15:39 My first entry.
| Everything is alright
2013-06-10 15:40 Life is good.
| But I'm better.
"""
2013-06-10 15:40 Life is good.
| But I'm better.
Scenario Outline: Searching by month
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
And we use the password "test" if prompted
When we run "jrnl -month 9 --short"
Then the output should be "2020-09-24 09:14 The third entry finally after weeks without writing."
And we flush the output
When we run "jrnl -month Sept --short"
Then the output should be "2020-09-24 09:14 The third entry finally after weeks without writing."
And we flush the output
When we run "jrnl -month September --short"
Then the output should be "2020-09-24 09:14 The third entry finally after weeks without writing."
Examples: configs
| config |
| basic_onefile |
| basic_encrypted |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_encrypted.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Searching by day
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
And we use the password "test" if prompted
When we run "jrnl -day 31 --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 |
| basic_onefile |
| basic_encrypted |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_encrypted.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Searching by year
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
And we use the password "test" if prompted
When we run "jrnl 2019-01-01 01:01: I like this year."
And we run "jrnl -year 2019 --short"
Then the output should be "2019-01-01 01:01 I like this year."
And we flush the output
When we run "jrnl -year 19 --short"
Then the output should be "2019-01-01 01:01 I like this year."
Examples: configs
| config |
| basic_onefile |
| basic_encrypted |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_encrypted.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Combining month, day, and year search terms
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
And we use the password "test" if prompted
When we run "jrnl -month 08 -day 29 --short"
Then the output should be "2020-08-29 11:11 Entry the first."
And we flush the output
When we run "jrnl -day 29 -year 2020 --short"
Then the output should be "2020-08-29 11:11 Entry the first."
And we flush the output
When we run "jrnl -month 09 -year 2020 --short"
Then the output should be "2020-09-24 09:14 The third entry finally after weeks without writing."
And we flush the output
When we run "jrnl -month 08 -day 29 -year 2020 --short"
Then the output should be "2020-08-29 11:11 Entry the first."
Examples: configs
| config |
| basic_onefile |
| basic_encrypted |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_encrypted.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario Outline: Searching today in history
Given we use the config "<config>.yaml"
Given we use the config "<config_file>"
And we use the password "test" if prompted
And we set current date and time to "2020-08-31 14:32"
When we run "jrnl 2019-08-31 01:01: Hi, from last year."
And we run "jrnl -today-in-history --short"
Then the output should be
"""
2019-08-31 01:01 Hi, from last year.
2020-08-31 14:32 A second entry in what I hope to be a long series.
"""
2019-08-31 01:01 Hi, from last year.
2020-08-31 14:32 A second entry in what I hope to be a long series.
Examples: configs
| config |
| basic_onefile |
| basic_encrypted |
| basic_folder |
| basic_dayone |
| config_file |
| basic_onefile.yaml |
| basic_encrypted.yaml |
| basic_folder.yaml |
| basic_dayone.yaml |
Scenario: Loading a DayOne Journal
Given we use the config "dayone.yaml"
When we run "jrnl -from 'feb 2013'"
Then we should get no error
And the output should be
"""
2013-05-17 11:39 This entry has tags!
2013-05-17 11:39 This entry has tags!
2013-06-17 20:38 This entry has a location.
2013-06-17 20:38 This entry has a location.
2013-07-17 11:38 This entry is starred!
"""
2013-07-17 11:38 This entry is starred!