mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-10 08:38:32 +02:00
* fix missed statement from last PR * replace print statement for adding an entry to a journal * clean up linting and format * change print statement over to new print_msg function * make print_msg always print to stderr * change print statement over to new print_msg function * update importer to use new message function * update yaml format to use new message function * code cleanup * update yaml format to use new message function * update yaml format to use new exception handling * update Journal class to use new message function * update install module to use new message function * update config module to use new message function * update upgrade module to properly use new message and exception handling * fix typo * update upgrade module to use new message handling * update welcome message to use new handling * update upgrade module to use new message handling * update upgrade module journal summaries to use new message handling * take out old code * update upgrade module to use new message handling * update upgrade module to use new message handling * update more modules to use new message handling * take out old comment * update deprecated_cmd to use new message handling * update text_exporter with new message handling, get rid of old color constants * get rid of hardcoded text * whitespace changes * rework MsgType into MsgStyle so messages can have different styles * add comment * Move around code to separate concerns of each function a bit more * update create_password and yesno prompt functions for new messaging * fix missing newline for keyboard interrupts * fix misc linting * fix bug with panel titles always showing 'error' after one error * fix missing import * update debug output after uncaught exception * update exception for new exception handling * rewrite yesno function to use new centralized messages * reduce the debug output slightly * clean up print_msgs function * clean up create_password function * clean up misc linting * rename screen_input to hide_input to be more clear * update encrypted journal prompt to use new messaging functionality * fix typo in message key * move rich console into function so we can mock properly * update password mock to use rich console instead of getpass * add more helpful output to then step * fix test by updating expected output * update message to use new functionality * rework mocks in test suite for new messaging functionality * fix linting issue * fix more tests * fix more tests * fix more tests * fix more tests * fix merge bug * update prompt_action_entries to use new messaging functionality * Add new input_method "type" This does the same thing as input_method "pipe" but is more clear what it's doing (typing text into the builtin composer) * get rid of old commented code * get rid of unused code * move some files around Co-authored-by: Micah Jerome Ellison <micah.jerome.ellison@gmail.com>
105 lines
5.4 KiB
Gherkin
105 lines
5.4 KiB
Gherkin
Feature: Multiple journals
|
|
|
|
Scenario: Read a journal from an alternate config
|
|
Given the config "basic_onefile.yaml" exists
|
|
And we use the config "multiple.yaml"
|
|
When we run "jrnl --cf basic_onefile.yaml -999"
|
|
Then the output should not contain "My first entry" # from multiple.yaml
|
|
And the output should contain "Lorem ipsum" # from basic_onefile.yaml
|
|
|
|
Scenario: Write to default journal by default using an alternate config
|
|
Given the config "multiple.yaml" exists
|
|
And we use the config "basic_onefile.yaml"
|
|
When we run "jrnl --cf multiple.yaml this goes to default"
|
|
And we run "jrnl -1"
|
|
Then the output should not contain "this goes to default"
|
|
When we run "jrnl --cf multiple.yaml -1"
|
|
Then the output should contain "this goes to default"
|
|
|
|
Scenario: Write to specified journal using an alternate config
|
|
Given the config "multiple.yaml" exists
|
|
And we use the config "basic_onefile.yaml"
|
|
When we run "jrnl work --cf multiple.yaml a long day in the office"
|
|
And we run "jrnl default --cf multiple.yaml -1"
|
|
Then the output should contain "But I'm better"
|
|
When we run "jrnl work --cf multiple.yaml -1"
|
|
Then the output should contain "a long day in the office"
|
|
|
|
Scenario: Tell user which journal was used while using an alternate config
|
|
Given the config "multiple.yaml" exists
|
|
And we use the config "basic_onefile.yaml"
|
|
When we run "jrnl --cf multiple.yaml work a long day in the office"
|
|
Then the output should contain "Entry added to work journal"
|
|
|
|
Scenario: Write to specified journal with a timestamp using an alternate config
|
|
Given the config "multiple.yaml" exists
|
|
And we use the config "basic_onefile.yaml"
|
|
When we run "jrnl work --cf multiple.yaml 23 july 2012: a long day in the office"
|
|
And we run "jrnl --cf multiple.yaml -1"
|
|
Then the output should contain "But I'm better"
|
|
When we run "jrnl --cf multiple.yaml work -1"
|
|
Then the output should contain "a long day in the office"
|
|
And the output should contain "2012-07-23"
|
|
|
|
Scenario: Write to specified journal without a timestamp but with colon using an alternate config
|
|
Given the config "multiple.yaml" exists
|
|
And we use the config "basic_onefile.yaml"
|
|
When we run "jrnl work --cf multiple.yaml : a long day in the office"
|
|
And we run "jrnl --cf multiple.yaml -1"
|
|
Then the output should contain "But I'm better"
|
|
When we run "jrnl --cf multiple.yaml work -1"
|
|
Then the output should contain "a long day in the office"
|
|
|
|
Scenario: Create new journals as required using an alternate config
|
|
Given the config "multiple.yaml" exists
|
|
And we use the config "basic_onefile.yaml"
|
|
When we run "jrnl ideas -1"
|
|
Then the output should be empty
|
|
When we run "jrnl ideas --cf multiple.yaml 23 july 2012: sell my junk on ebay and make lots of money"
|
|
Then the output should contain "Journal 'ideas' created"
|
|
When we run "jrnl ideas --cf multiple.yaml -1"
|
|
Then the output should contain "sell my junk on ebay and make lots of money"
|
|
|
|
Scenario: Don't crash if no default journal is specified using an alternate config
|
|
Given the config "bug343.yaml" exists
|
|
And we use the config "basic_onefile.yaml"
|
|
When we run "jrnl --cf bug343.yaml a long day in the office"
|
|
Then the output should contain "No default journal configured"
|
|
|
|
Scenario: Don't crash if no file exists for a configured encrypted journal using an alternate config
|
|
Given the config "multiple.yaml" exists
|
|
And we use the config "basic_onefile.yaml"
|
|
When we run "jrnl new_encrypted --cf multiple.yaml Adding first entry" and enter
|
|
these three eyes
|
|
these three eyes
|
|
n
|
|
Then the output should contain "Journal 'new_encrypted' created at "
|
|
|
|
Scenario: Don't overwrite main config when encrypting a journal in an alternate config
|
|
Given the config "basic_onefile.yaml" exists
|
|
And we use the config "multiple.yaml"
|
|
When we run "jrnl --cf basic_onefile.yaml --encrypt" and enter
|
|
these three eyes
|
|
these three eyes
|
|
n
|
|
Then the output should contain "Journal encrypted to features/journals/basic_onefile.journal"
|
|
And the config should contain "encrypt: false"
|
|
|
|
Scenario: Don't overwrite main config when decrypting a journal in an alternate config
|
|
Given the config "editor_encrypted.yaml" exists
|
|
And we use the password "bad doggie no biscuit" if prompted
|
|
And we use the config "basic_encrypted.yaml"
|
|
When we run "jrnl --cf editor_encrypted.yaml --decrypt"
|
|
Then the config should contain "encrypt: true"
|
|
And the output should not contain "Wrong password"
|
|
|
|
Scenario: Show an error message when the config file is empty
|
|
Given we use the config "empty_file.yaml"
|
|
When we run "jrnl -1"
|
|
Then the error output should contain "Unable to parse config file"
|
|
|
|
Scenario: Show an error message when using --config-file with empty file
|
|
Given the config "empty_file.yaml" exists
|
|
And we use the config "basic_onefile.yaml"
|
|
When we run "jrnl --cf empty_file.yaml"
|
|
Then the error output should contain "Unable to parse config file"
|