Standardize and clean up star and write features

This commit is contained in:
Micah Jerome Ellison 2020-09-24 19:27:07 -07:00
parent 379a63c8f1
commit 66b9f5a461
3 changed files with 81 additions and 79 deletions

View file

@ -1,20 +1,20 @@
Feature: Starring entries Feature: Starring entries
Scenario Outline: Starring an entry will mark it in the journal file Scenario Outline: Starring an entry will mark it in the journal file
Given we use the config <config_file> Given we use the config "<config_file>.yaml"
When we run "jrnl 20 july 2013 *: Best day of my life!" When we run "jrnl 20 july 2013 *: Best day of my life!"
Then we should see the message "Entry added" Then we should see the message "Entry added"
When we run "jrnl -on 2013-07-20 -starred" When we run "jrnl -on 2013-07-20 -starred"
Then the output should contain "2013-07-20 09:00 Best day of my life!" Then the output should contain "2013-07-20 09:00 Best day of my life!"
Examples: configs Examples: configs
| config_file | | config_file |
| "basic.yaml" | | basic |
| "empty_folder.yaml" | | empty_folder |
| "dayone.yaml" | | dayone |
Scenario Outline: Filtering by starred entries Scenario Outline: Filtering by starred entries will show only starred entries
Given we use the config <config_file> Given we use the config "<config_file>.yaml"
When we run "jrnl -starred" When we run "jrnl -starred"
Then the output should be empty Then the output should be empty
When we run "jrnl 20 july 2013 *: Best day of my life!" When we run "jrnl 20 july 2013 *: Best day of my life!"
@ -22,10 +22,10 @@ Feature: Starring entries
Then the output should be "2013-07-20 09:00 Best day of my life!" Then the output should be "2013-07-20 09:00 Best day of my life!"
Examples: configs Examples: configs
| config_file | | config_file |
| "basic.yaml" | | basic |
| "empty_folder.yaml" | | empty_folder |
| "dayone_empty.yaml" | | dayone_empty |
Scenario: Starring an entry will mark it in an encrypted journal Scenario: Starring an entry will mark it in an encrypted journal
Given we use the config "encrypted.yaml" Given we use the config "encrypted.yaml"

View file

@ -433,6 +433,7 @@ def check_output_not_inline(context, text):
@then('we should see the message "{text}"') @then('we should see the message "{text}"')
@then('the error output should be "{text}"')
def check_message(context, text): def check_message(context, text):
out = context.stderr_capture.getvalue() out = context.stderr_capture.getvalue()
assert text in out, [text, out] assert text in out, [text, out]

View file

@ -1,116 +1,119 @@
Feature: Writing new entries. Feature: Writing new entries.
Scenario Outline: Multiline entry with punctuation Scenario Outline: Multiline entry with punctuation should keep title punctuation
Given we use the config <config_file> Given we use the config "<config_file>.yaml"
When we run "jrnl This is. the title\\n This is the second line" When we run "jrnl This is. the title\\n This is the second line"
And we run "jrnl -n 1" And we run "jrnl -n 1"
Then the output should contain "This is. the title" Then the output should contain "This is. the title"
Examples: configs Examples: configs
| config_file | | config_file |
| "basic.yaml" | | basic |
| "empty_folder.yaml" | | empty_folder |
| "dayone.yaml" | | dayone |
Scenario: Multiline entry with punctuation in encrypted journal Scenario: Multiline entry with punctuation should keep title punctuation in encrypted journal
Given we use the config "encrypted.yaml" Given we use the config "encrypted.yaml"
When we run "jrnl This is. the title\\n This is the second line" and enter "bad doggie no biscuit" When we run "jrnl This is. the title\\n This is the second line" and enter "bad doggie no biscuit"
And we run "jrnl -n 1" and enter "bad doggie no biscuit" And we run "jrnl -n 1" and enter "bad doggie no biscuit"
Then the output should contain "This is. the title" Then the output should contain "This is. the title"
Scenario Outline: Single line entry with punctuation Scenario Outline: Single line entry with period should be split at period
Given we use the config <config_file> Given we use the config "<config_file>.yaml"
When we run "jrnl This is. the title" When we run "jrnl This is. the title"
And we run "jrnl -n 1" And we run "jrnl -n 1"
Then the output should contain "| the title" Then the output should contain "| the title"
Examples: configs Examples: configs
| config_file | | config_file |
| "basic.yaml" | | basic |
| "empty_folder.yaml" | | empty_folder |
| "dayone.yaml" | | dayone |
Scenario: Single line entry with punctuation in encrypted journal Scenario: Single line entry with period should be split at period
Given we use the config "encrypted.yaml" Given we use the config "encrypted.yaml"
When we run "jrnl This is. the title" and enter "bad doggie no biscuit" When we run "jrnl This is. the title" and enter "bad doggie no biscuit"
And we run "jrnl -n 1" and enter "bad doggie no biscuit" And we run "jrnl -n 1" and enter "bad doggie no biscuit"
Then the output should contain "| the title" Then the output should contain "| the title"
Scenario Outline: Writing an entry from command line Scenario Outline: Writing an entry from command line should store the entry
Given we use the config <config_file> Given we use the config "<config_file>.yaml"
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa." When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa."
Then we should see the message "Entry added" Then we should see the message "Entry added"
When we run "jrnl -n 1" When we run "jrnl -n 1"
Then the output should contain "2013-07-23 09:00 A cold and stormy day." Then the output should contain "2013-07-23 09:00 A cold and stormy day."
Examples: configs Examples: configs
| config_file | | config_file |
| "basic.yaml" | | basic |
| "empty_folder.yaml" | | empty_folder |
| "dayone.yaml" | | dayone |
Scenario: Writing an entry from command line in encrypted journal Scenario: Writing an entry from command line should store the entry (encrypted journal)
Given we use the config "encrypted.yaml" Given we use the config "encrypted.yaml"
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa." and enter "bad doggie no biscuit" When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa." and enter "bad doggie no biscuit"
Then we should see the message "Entry added" Then we should see the message "Entry added"
When we run "jrnl -n 1" and enter "bad doggie no biscuit" When we run "jrnl -n 1" and enter "bad doggie no biscuit"
Then the output should contain "2013-07-23 09:00 A cold and stormy day." Then the output should contain "2013-07-23 09:00 A cold and stormy day."
Scenario Outline: Writing an empty entry from the editor Scenario Outline: Writing an empty entry from the editor should yield "Nothing saved to file" message
Given we use the config <config_file> Given we use the config "<config_file>.yaml"
When we open the editor and enter nothing When we open the editor and enter nothing
Then we should see the message "[Nothing saved to file]" Then the error output should contain "[Nothing saved to file]"
Examples: configs Examples: configs
| config_file | | config_file |
| "editor.yaml" | | editor |
| "editor_empty_folder.yaml" | | editor_empty_folder |
| "dayone.yaml" | | dayone |
@todo # this might need a new step for editors + encryption @todo # this might need a new step for editors + encryption
Scenario: Writing an empty entry from the editor in encrypted journal Scenario: Writing an empty entry from the editor in encrypted journal should yield "Nothing saved to file" message
Given we use the config "editor_encrypted.yaml" Given we use the config "editor_encrypted.yaml"
#When we open the editor and enter nothing #When we open the editor and enter nothing
#Then we should see the message "[Nothing saved to file]" #Then we should see the message "[Nothing saved to file]"
Scenario: Writing an empty entry from the command line Scenario Outline: Writing an empty entry from the command line with no editor should yield nothing
Given we use the config "basic.yaml" Given we use the config "<config_file>.yaml"
When we run "jrnl" and enter nothing When we run "jrnl" and enter nothing
Then the output should be empty Then 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 And the editor should not have been called
Examples: configs
| config_file |
| basic |
| empty_folder |
@todo # There is a problem with DayOne behave tests and console input @todo # There is a problem with DayOne behave tests and console input
Scenario: Writing an empty entry from the command line in DayOne journal Scenario: Writing an empty entry from the command line in DayOne journal
Scenario: Writing an empty entry from the command line in folder journal
Given we use the config "empty_folder.yaml"
When we run "jrnl" and enter nothing
Then the output should be empty
And the editor should not have been called
@todo # Need some steps for encryption + editor @todo # Need some steps for encryption + editor
Scenario: Writing an empty entry from the command line in encrypted journal Scenario: Writing an empty entry from the command line in encrypted journal
Scenario Outline: Writing an empty entry from the editor Scenario Outline: Writing an empty entry from the editor should yield nothing
Given we use the config <config_file> Given we use the config "<config_file>.yaml"
When we run "jrnl" and enter nothing When we run "jrnl" and enter nothing
Then the output should be empty Then the output should be empty
And the error output should contain "[Nothing saved to file]"
And the editor should have been called And the editor should have been called
Examples: configs Examples: configs
| config_file | | config_file |
| "editor.yaml" | | editor |
| "editor_empty_folder.yaml" | | editor_empty_folder |
| "dayone.yaml" | | dayone |
Scenario: Writing an empty entry from the editor in encrypted journal Scenario: Writing an empty entry from the editor should yield nothing in encrypted journal
Given we use the config "editor_encrypted.yaml" Given we use the config "editor_encrypted.yaml"
When we run "jrnl" and enter "bad doggie no biscuit" When we run "jrnl" and enter "bad doggie no biscuit"
Then the editor should have been called Then the output should be "Password:"
And the error output should contain "[Nothing saved to file]"
And the editor should have been called
Scenario Outline: Writing an entry does not print the entire journal Scenario Outline: Writing an entry does not print the entire journal
# https://github.com/jrnl-org/jrnl/issues/87 # https://github.com/jrnl-org/jrnl/issues/87
Given we use the config <config_file> Given we use the config "<config_file>.yaml"
When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa." When we run "jrnl 23 july 2013: A cold and stormy day. I ate crisps on the sofa."
Then we should see the message "Entry added" Then we should see the message "Entry added"
When we run "jrnl -n 1" When we run "jrnl -n 1"
@ -118,9 +121,9 @@ Feature: Writing new entries.
Examples: configs Examples: configs
| config_file | | config_file |
| "basic.yaml" | | editor |
| "empty_folder.yaml" | | editor_empty_folder |
| "dayone.yaml" | | dayone |
Scenario: Writing an entry in encrypted journal does not print the entire journal Scenario: Writing an entry in encrypted journal does not print the entire journal
Given we use the config "encrypted.yaml" Given we use the config "encrypted.yaml"
@ -130,7 +133,7 @@ Feature: Writing new entries.
Then the output should not contain "Life is good" Then the output should not contain "Life is good"
Scenario Outline: Embedded period stays in title Scenario Outline: Embedded period stays in title
Given we use the config <config_file> Given we use the config "<config_file>.yaml"
When we run "jrnl 04-24-2014: Created a new website - empty.com. Hope to get a lot of traffic." When we run "jrnl 04-24-2014: Created a new website - empty.com. Hope to get a lot of traffic."
Then we should see the message "Entry added" Then we should see the message "Entry added"
When we run "jrnl -1" When we run "jrnl -1"
@ -141,10 +144,10 @@ Feature: Writing new entries.
""" """
Examples: configs Examples: configs
| config_file | | config_file |
| "basic.yaml" | | basic |
| "empty_folder.yaml" | | empty_folder |
| "dayone.yaml" | | dayone |
Scenario: Embedded period stays in title in encrypted journal Scenario: Embedded period stays in title in encrypted journal
Given we use the config "encrypted.yaml" Given we use the config "encrypted.yaml"
@ -158,7 +161,7 @@ Feature: Writing new entries.
""" """
Scenario Outline: Write and read emoji support Scenario Outline: Write and read emoji support
Given we use the config <config_file> Given we use the config "<config_file>.yaml"
When we run "jrnl 23 july 2013: 🌞 sunny day. Saw an 🐘" When we run "jrnl 23 july 2013: 🌞 sunny day. Saw an 🐘"
Then we should see the message "Entry added" Then we should see the message "Entry added"
When we run "jrnl -n 1" When we run "jrnl -n 1"
@ -166,10 +169,10 @@ Feature: Writing new entries.
And the output should contain "🐘" And the output should contain "🐘"
Examples: configs Examples: configs
| config_file | | config_file |
| "basic.yaml" | | basic |
| "empty_folder.yaml" | | empty_folder |
| "dayone.yaml" | | dayone |
Scenario: Write and read emoji support in encrypted journal Scenario: Write and read emoji support in encrypted journal
Given we use the config "encrypted.yaml" Given we use the config "encrypted.yaml"
@ -179,21 +182,19 @@ Feature: Writing new entries.
Then the output should contain "🌞" Then the output should contain "🌞"
And the output should contain "🐘" And the output should contain "🐘"
Scenario: Writing an entry at the prompt (no editor) Scenario Outline: Writing an entry at the prompt (no editor) should store the entry
Given we use the config "basic.yaml" Given we use the config "<config_file>.yaml"
When we run "jrnl" and enter "25 jul 2013: I saw Elvis. He's alive."
Then we should get no error
And the journal should contain "[2013-07-25 09:00] I saw Elvis."
And the journal should contain "He's alive."
Scenario: Writing an entry at the prompt (no editor) in folder journal
Given we use the config "empty_folder.yaml"
When we run "jrnl" and enter "25 jul 2013: I saw Elvis. He's alive." When we run "jrnl" and enter "25 jul 2013: I saw Elvis. He's alive."
Then we should get no error Then we should get no error
When we run "jrnl -on '2013-07-25'" When we run "jrnl -on '2013-07-25'"
Then the output should contain "2013-07-25 09:00 I saw Elvis." Then the output should contain "2013-07-25 09:00 I saw Elvis."
And the output should contain "| He's alive." And the output should contain "| He's alive."
Examples: configs
| config_file |
| basic |
| empty_folder |
@todo # Need to test DayOne w/out an editor @todo # Need to test DayOne w/out an editor
Scenario: Writing an entry at the prompt (no editor) in DayOne journal Scenario: Writing an entry at the prompt (no editor) in DayOne journal