From 3c8711171058b408cbc11a89c4e0ac555b77c296 Mon Sep 17 00:00:00 2001 From: Micah Jerome Ellison Date: Sat, 25 Feb 2023 12:29:43 -0800 Subject: [PATCH] Save empty journal on install instead of just creating a zero-length file (#1690) * Add failing test for issue #1493 * Write journal upon creation instead of just creating 0-length file * Fix test to accommodate current password mocking form --- jrnl/journals/Journal.py | 1 + tests/bdd/features/install.feature | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/jrnl/journals/Journal.py b/jrnl/journals/Journal.py index 994e0098..4b99565a 100644 --- a/jrnl/journals/Journal.py +++ b/jrnl/journals/Journal.py @@ -123,6 +123,7 @@ class Journal: }, ) ) + self.write() text = self._load(filename) text = self._decrypt(text) diff --git a/tests/bdd/features/install.feature b/tests/bdd/features/install.feature index abef3d91..ba252840 100644 --- a/tests/bdd/features/install.feature +++ b/tests/bdd/features/install.feature @@ -42,4 +42,19 @@ Feature: Installing jrnl And the version in the config file should be up-to-date When we run "jrnl" Then we should be prompted for a password - \ No newline at end of file + + Scenario: Install jrnl with encrypted default journal with no entries + Given we use no config + And we use the password "test" if prompted + When we run "jrnl -1" and enter + encrypted.txt + y + n + Then the error output should contain "Journal will be encrypted" + And the default journal "encrypted.txt" should be in the "." directory + And the config should contain "encrypt: true" + And the version in the config file should be up-to-date + When we run "jrnl -1" + Then we should be prompted for a password + And the error output should contain "no entries found" + And the error output should not contain "Wrong password, try again"