mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-05-18 03:58:32 +02:00
Begin migrating/rewording --cf tests in pytest-bdd.
Uses current directory instead of deep directory structure, but requires a given for each config file referenced
This commit is contained in:
parent
686c256bd5
commit
51735da1be
3 changed files with 79 additions and 1 deletions
77
tests/bdd/features/config_file.feature
Normal file
77
tests/bdd/features/config_file.feature
Normal file
|
@ -0,0 +1,77 @@
|
|||
Feature: Multiple journals
|
||||
|
||||
Scenario: Loading an alternate config with two journals
|
||||
Given we use the config "basic_onefile.yaml"
|
||||
Given we use the config "multiple.yaml" # Repeating step to ensure both are copied
|
||||
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
|
||||
|
||||
# This test is breaking because multiple.yaml is "upgrading" and overwriting basic_onefile.yaml in the process
|
||||
# Backup your personal config before manually reproducing this! It will replace
|
||||
# your config file with the upgraded form of multiple.yaml (which is the bug)
|
||||
Scenario: Write to default journal by default using an alternate config
|
||||
Given we use the config "multiple.yaml"
|
||||
Given we use the config "basic_onefile.yaml"
|
||||
When we run "jrnl --cf multiple.yaml this goes to default"
|
||||
Given we use the config "basic_onefile.yaml"
|
||||
When 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"
|
||||
|
||||
# # The rest of these tests haven't changed except for the given steps. Each needs
|
||||
# # to be re-worked
|
||||
# Scenario: Write to specified journal using an alternate config
|
||||
# Given we use the config "multiple.yaml"
|
||||
# Given we use the config "basic_onefile.yaml"
|
||||
# When we run "jrnl work --cf features/data/configs/alternate.yaml a long day in the office"
|
||||
# Then journal "default" should have 2 entries
|
||||
# And journal "work" should have 1 entry
|
||||
|
||||
# Scenario: Tell user which journal was used using an alternate config
|
||||
# Given we use the config "multiple.yaml"
|
||||
# Given we use the config "basic_onefile.yaml"
|
||||
# When we run "jrnl --cf features/data/configs/alternate.yaml work a long day in the office"
|
||||
# Then we should see the message "Entry added to work journal"
|
||||
|
||||
# Scenario: Write to specified journal with a timestamp using an alternate config
|
||||
# Given we use the config "multiple.yaml"
|
||||
# Given we use the config "basic_onefile.yaml"
|
||||
# When we run "jrnl work --cf features/data/configs/alternate.yaml 23 july 2012: a long day in the office"
|
||||
# Then journal "default" should have 2 entries
|
||||
# And journal "work" should have 1 entry
|
||||
# And journal "work" should contain "2012-07-23"
|
||||
|
||||
# Scenario: Write to specified journal without a timestamp but with colon using an alternate config
|
||||
# Given we use the config "multiple.yaml"
|
||||
# Given we use the config "basic_onefile.yaml"
|
||||
# When we run "jrnl work --cf features/data/configs/alternate.yaml : a long day in the office"
|
||||
# Then journal "default" should have 2 entries
|
||||
# And journal "work" should have 1 entry
|
||||
# And journal "work" should contain "a long day in the office"
|
||||
|
||||
# Scenario: Create new journals as required using an alternate config
|
||||
# Given we use the config "multiple.yaml"
|
||||
# Given we use the config "basic_onefile.yaml"
|
||||
# Then journal "ideas" should not exist
|
||||
# When we run "jrnl ideas --cf features/data/configs/alternate.yaml 23 july 2012: sell my junk on ebay and make lots of money"
|
||||
# Then journal "ideas" should have 1 entry
|
||||
|
||||
# Scenario: Don't crash if no default journal is specified using an alternate config
|
||||
# Given we use the config "multiple.yaml"
|
||||
# Given we use the config "basic_onefile.yaml"
|
||||
# When we run "jrnl --cf features/data/configs/bug343.yaml a long day in the office"
|
||||
# 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
|
||||
# Given we use the config "multiple.yaml"
|
||||
# Given we use the config "basic_onefile.yaml"
|
||||
# When we run "jrnl new_encrypted --cf features/data/configs/alternate.yaml Adding first entry" and enter
|
||||
# """
|
||||
# these three eyes
|
||||
# these three eyes
|
||||
# n
|
||||
# """
|
||||
# Then we should see the message "Encrypted journal 'new_encrypted' created"
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
from pytest_bdd import scenarios
|
||||
|
||||
scenarios("features/build.feature")
|
||||
scenarios("features/config_file.feature")
|
||||
scenarios("features/core.feature")
|
||||
scenarios("features/datetime.feature")
|
||||
scenarios("features/delete.feature")
|
||||
|
|
|
@ -93,7 +93,7 @@ def we_use_the_config(config_file, temp_dir, working_dir):
|
|||
# Copy all of the journals over
|
||||
journal_source = os.path.join(working_dir, "data", "journals")
|
||||
journal_dest = os.path.join(temp_dir.name, "features", "journals")
|
||||
shutil.copytree(journal_source, journal_dest)
|
||||
shutil.copytree(journal_source, journal_dest, dirs_exist_ok=True)
|
||||
|
||||
# @todo get rid of this by using default config values
|
||||
# merge in version number
|
||||
|
|
Loading…
Add table
Reference in a new issue