mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 08:38:32 +02:00
* Remove search mode conditional that added explicit tag search behavior * Fix failing change-time test by using same method signature as base journal class * Fix user input mock - was not appropriately checking return value * Clean up controller - streamline `run` function in `controller.py` - add debug logging - fix unnecessary import of Journal class (only needed for typing) - standardize summary display across different actions * Add currently-failing test conditions for count messages when changing time and deleting * Don't show summary if no entries found and prevent extra line break when no entries found by short-circuiting display method * Track found entry count and remove incorrect modified stat logic * Track journal entry deletion consistently * Remove unneeded exception when editor is empty and fix test that was testing incorrect message * Correct entry edit modified count test * Track modification of entries with --change-time * Preserve existing behavior when editor is empty but make the message more clear * Reconcile tests with new error message when clearing editor in edit mode * Add found/modified counts to edit tests * Add tests for found count with -n equivalent argument * Test combinations of found/deleted messages when using --delete * Add tests for counting combinations of action arguments (change-time, edit, delete) and for change-time counts. Some are failing and should be investigated * Remove extraneous comment in test * Track added/deleted counts in a register in the Journal class instead of attempting to infer it via controller counting * Add encrypted to more tests * Fix merge conflict typo * Change 'write mode' -> 'append mode' in more places --------- Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
108 lines
4.4 KiB
Gherkin
108 lines
4.4 KiB
Gherkin
# Copyright © 2012-2023 jrnl contributors
|
|
# License: https://www.gnu.org/licenses/gpl-3.0.html
|
|
|
|
Feature: Test combinations of edit, change-time, and delete
|
|
|
|
Scenario Outline: --change-time with --edit modifies selected entries
|
|
Given we use the config "<config_file>"
|
|
And we write nothing to the editor if opened
|
|
And we use the password "test" if prompted
|
|
When we run "jrnl --change-time '2022-04-23 10:30' --edit" and enter
|
|
Y
|
|
N
|
|
Y
|
|
Then the error output should contain "No text received from editor. Were you trying to delete all the entries?"
|
|
And the editor should have been called
|
|
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.
|
|
2022-04-23 10:30 Entry the first.
|
|
2022-04-23 10:30 The third entry finally after weeks without writing.
|
|
|
|
Examples: Configs
|
|
| config_file |
|
|
| basic_onefile.yaml |
|
|
| basic_folder.yaml |
|
|
| basic_encrypted.yaml |
|
|
# | basic_dayone.yaml | @todo
|
|
|
|
Scenario Outline: --delete with --edit deletes selected entries
|
|
Given we use the config "<config_file>"
|
|
And we append to the editor if opened
|
|
[2023-02-21 10:32] Here is a new entry
|
|
And we use the password "test" if prompted
|
|
When we run "jrnl --delete --edit" and enter
|
|
Y
|
|
N
|
|
Y
|
|
Then the editor should have been called
|
|
And the error output should contain "3 entries found"
|
|
And the error output should contain "2 entries deleted"
|
|
And the error output should contain "1 entry added"
|
|
When we run "jrnl -99 --short"
|
|
Then the error output should contain "2 entries found"
|
|
And the output should be
|
|
2020-08-31 14:32 A second entry in what I hope to be a long series.
|
|
2023-02-21 10:32 Here is a new entry
|
|
|
|
Examples: Configs
|
|
| config_file |
|
|
| basic_onefile.yaml |
|
|
| basic_folder.yaml |
|
|
| basic_encrypted.yaml |
|
|
# | basic_dayone.yaml | @todo
|
|
|
|
Scenario Outline: --change-time with --delete affects appropriate entries
|
|
Given we use the config "<config_file>"
|
|
And we use the password "test" if prompted
|
|
# --change-time is asked first, then --delete
|
|
When we run "jrnl --change-time '2022-04-23 10:30' --delete" and enter
|
|
N
|
|
N
|
|
Y
|
|
Y
|
|
N
|
|
N
|
|
Then the error output should contain "3 entries found"
|
|
And the error output should contain "1 entry deleted"
|
|
And the error output should contain "1 entry modified"
|
|
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.
|
|
2022-04-23 10:30 The third entry finally after weeks without writing.
|
|
|
|
Examples: Configs
|
|
| config_file |
|
|
| basic_onefile.yaml |
|
|
| basic_folder.yaml |
|
|
| basic_encrypted.yaml |
|
|
# | basic_dayone.yaml | @todo
|
|
|
|
Scenario Outline: Combining --change-time and --delete and --edit affects appropriate entries
|
|
Given we use the config "<config_file>"
|
|
And we append to the editor if opened
|
|
[2023-02-21 10:32] Here is a new entry
|
|
And we use the password "test" if prompted
|
|
# --change-time is asked first, then --delete, then --edit
|
|
When we run "jrnl --change-time '2022-04-23 10:30' --delete --edit" and enter
|
|
N
|
|
Y
|
|
Y
|
|
Y
|
|
Y
|
|
N
|
|
Then the error output should contain "3 entries found"
|
|
And the error output should contain "2 entries deleted"
|
|
And the error output should contain "1 entry modified" # only 1, because the other was deleted
|
|
And the error output should contain "1 entry added" # by edit
|
|
When we run "jrnl -99 --short"
|
|
Then the output should be
|
|
2022-04-23 10:30 The third entry finally after weeks without writing.
|
|
2023-02-21 10:32 Here is a new entry
|
|
|
|
Examples: Configs
|
|
| config_file |
|
|
| basic_onefile.yaml |
|
|
| basic_folder.yaml |
|
|
| basic_encrypted.yaml |
|
|
# | basic_dayone.yaml | @todo
|