From 57bc49346b733ac5d0065e6faf41b23be59ade5b Mon Sep 17 00:00:00 2001 From: samuelgregorovic Date: Sun, 11 Jul 2021 11:37:49 +0200 Subject: [PATCH] BDD tests added --- features/config_file.feature | 60 ++++++++++++++++++++++++++++ features/data/configs/alternate.yaml | 18 +++++++++ 2 files changed, 78 insertions(+) create mode 100644 features/config_file.feature create mode 100644 features/data/configs/alternate.yaml diff --git a/features/config_file.feature b/features/config_file.feature new file mode 100644 index 00000000..6ef6c1b6 --- /dev/null +++ b/features/config_file.feature @@ -0,0 +1,60 @@ +Feature: Multiple journals + + Scenario: Loading an alternate config with two journals + Given we use the config "multiple.yaml" + When we run "jrnl --cf features/data/configs/alternate.yaml" + Then journal "default" should have 2 entries + And journal "work" should have 0 entries + + Scenario: Write to default journal by default using an alternate config + Given we use the config "multiple.yaml" + When we run "jrnl --cf features/data/configs/alternate.yaml this goes to default" + Then journal "default" should have 3 entries + And journal "work" should have 0 entries + + Scenario: Write to specified journal using an alternate config + Given we use the config "multiple.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" + 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" + 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" + 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" + 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" + 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" + 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" + diff --git a/features/data/configs/alternate.yaml b/features/data/configs/alternate.yaml new file mode 100644 index 00000000..65f2c256 --- /dev/null +++ b/features/data/configs/alternate.yaml @@ -0,0 +1,18 @@ +default_hour: 9 +default_minute: 0 +editor: '' +encrypt: false +highlight: true +template: false +journals: + default: features/journals/simple.journal + ideas: features/journals/nothing.journal + simple: features/journals/simple.journal + work: features/journals/work.journal + new_encrypted: + encrypt: true + journal: features/journals/new_encrypted.journal +linewrap: 80 +tagsymbols: '@' +timeformat: '%Y-%m-%d %H:%M' +indent_character: "|"