Use explicit "given the config exists" for copying config files instead of shoehorning in "given we use the config" twice

This commit is contained in:
Micah Jerome Ellison 2021-10-23 13:47:34 -07:00
parent 31354ba669
commit 51e8606f44
2 changed files with 26 additions and 18 deletions

View file

@ -1,15 +1,15 @@
Feature: Multiple journals Feature: Multiple journals
Scenario: Loading an alternate config with two journals Scenario: Loading an alternate config with two journals
Given we use the config "basic_onefile.yaml" Given the config "basic_onefile.yaml" exists
Given we use the config "multiple.yaml" # Repeating step to ensure both are copied And we use the config "multiple.yaml"
When we run "jrnl --cf basic_onefile.yaml -999" When we run "jrnl --cf basic_onefile.yaml -999"
Then the output should not contain "My first entry" # from multiple.yaml Then the output should not contain "My first entry" # from multiple.yaml
And the output should contain "Lorem ipsum" # from basic_onefile.yaml And the output should contain "Lorem ipsum" # from basic_onefile.yaml
Scenario: Write to default journal by default using an alternate config Scenario: Write to default journal by default using an alternate config
Given we use the config "multiple.yaml" Given the config "multiple.yaml" exists
Given we use the config "basic_onefile.yaml" And we use the config "basic_onefile.yaml"
When we run "jrnl --cf multiple.yaml this goes to default" When we run "jrnl --cf multiple.yaml this goes to default"
When we run "jrnl -1" When we run "jrnl -1"
Then the output should not contain "this goes to default" Then the output should not contain "this goes to default"
@ -17,8 +17,8 @@ Feature: Multiple journals
Then the output should contain "this goes to default" Then the output should contain "this goes to default"
Scenario: Write to specified journal using an alternate config Scenario: Write to specified journal using an alternate config
Given we use the config "multiple.yaml" Given the config "multiple.yaml" exists
Given we use the config "basic_onefile.yaml" And we use the config "basic_onefile.yaml"
When we run "jrnl work --cf multiple.yaml a long day in the office" When we run "jrnl work --cf multiple.yaml a long day in the office"
And we run "jrnl default --cf multiple.yaml -1" And we run "jrnl default --cf multiple.yaml -1"
Then the output should contain "But I'm better" Then the output should contain "But I'm better"
@ -26,14 +26,14 @@ Feature: Multiple journals
Then the output should contain "a long day in the office" Then the output should contain "a long day in the office"
Scenario: Tell user which journal was used using an alternate config Scenario: Tell user which journal was used using an alternate config
Given we use the config "multiple.yaml" Given the config "multiple.yaml" exists
Given we use the config "basic_onefile.yaml" And we use the config "basic_onefile.yaml"
When we run "jrnl --cf multiple.yaml work a long day in the office" When we run "jrnl --cf multiple.yaml work a long day in the office"
Then we should see the message "Entry added to work journal" Then we should see the message "Entry added to work journal"
Scenario: Write to specified journal with a timestamp using an alternate config Scenario: Write to specified journal with a timestamp using an alternate config
Given we use the config "multiple.yaml" Given the config "multiple.yaml" exists
Given we use the config "basic_onefile.yaml" 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" 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" And we run "jrnl --cf multiple.yaml -1"
Then the output should contain "But I'm better" Then the output should contain "But I'm better"
@ -42,8 +42,8 @@ Feature: Multiple journals
And the output should contain "2012-07-23" And the output should contain "2012-07-23"
Scenario: Write to specified journal without a timestamp but with colon using an alternate config Scenario: Write to specified journal without a timestamp but with colon using an alternate config
Given we use the config "multiple.yaml" Given the config "multiple.yaml" exists
Given we use the config "basic_onefile.yaml" And we use the config "basic_onefile.yaml"
When we run "jrnl work --cf multiple.yaml : a long day in the office" When we run "jrnl work --cf multiple.yaml : a long day in the office"
And we run "jrnl --cf multiple.yaml -1" And we run "jrnl --cf multiple.yaml -1"
Then the output should contain "But I'm better" Then the output should contain "But I'm better"
@ -51,8 +51,8 @@ Feature: Multiple journals
Then the output should contain "a long day in the office" Then the output should contain "a long day in the office"
Scenario: Create new journals as required using an alternate config Scenario: Create new journals as required using an alternate config
Given we use the config "multiple.yaml" Given the config "multiple.yaml" exists
Given we use the config "basic_onefile.yaml" And we use the config "basic_onefile.yaml"
When we run "jrnl ideas -1" When we run "jrnl ideas -1"
Then the output should be empty 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" When we run "jrnl ideas --cf multiple.yaml 23 july 2012: sell my junk on ebay and make lots of money"
@ -61,14 +61,14 @@ Feature: Multiple journals
Then the output should contain "sell my junk on ebay and make lots of money" 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 Scenario: Don't crash if no default journal is specified using an alternate config
Given we use the config "bug343.yaml" Given the config "bug343.yaml" exists
Given we use the config "basic_onefile.yaml" And we use the config "basic_onefile.yaml"
When we run "jrnl --cf bug343.yaml a long day in the office" When we run "jrnl --cf bug343.yaml a long day in the office"
Then we should see the message "No default journal configured" Then we should see the message "No default journal configured"
Scenario: Don't crash if no file exists for a configured encrypted journal using an alternate config Scenario: Don't crash if no file exists for a configured encrypted journal using an alternate config
Given we use the config "multiple.yaml" Given the config "multiple.yaml" exists
Given we use the config "basic_onefile.yaml" And we use the config "basic_onefile.yaml"
When we run "jrnl new_encrypted --cf multiple.yaml Adding first entry" and enter When we run "jrnl new_encrypted --cf multiple.yaml Adding first entry" and enter
these three eyes these three eyes
these three eyes these three eyes

View file

@ -108,6 +108,14 @@ def we_use_the_config(config_file, temp_dir, working_dir):
return config_dest return config_dest
@given(parse('the config "{config_file}" exists'), target_fixture="config_path")
@given('the config "<config_file>" exists', target_fixture="config_path")
def config_exists(config_file, temp_dir, working_dir):
config_source = os.path.join(working_dir, "data", "configs", config_file)
config_dest = os.path.join(temp_dir.name, config_file)
shutil.copy2(config_source, config_dest)
@given(parse('we use the password "{pw}" if prompted'), target_fixture="password") @given(parse('we use the password "{pw}" if prompted'), target_fixture="password")
def use_password_forever(pw): def use_password_forever(pw):
return pw return pw