diff --git a/jrnl/DayOneJournal.py b/jrnl/DayOneJournal.py index e65ca8d9..3ced5bd0 100644 --- a/jrnl/DayOneJournal.py +++ b/jrnl/DayOneJournal.py @@ -167,7 +167,7 @@ class DayOne(Journal.Journal): return "\n".join([f"{str(e)}\n# {e.uuid}\n" for e in self.entries]) def _update_old_entry(self, entry: Entry, new_entry: Entry) -> None: - for attr in ("title", "body", "date"): + for attr in ("title", "body", "date", "tags"): old_attr = getattr(entry, attr) new_attr = getattr(new_entry, attr) if old_attr != new_attr: diff --git a/tests/bdd/features/write.feature b/tests/bdd/features/write.feature index 33b81cdd..2ae37a89 100644 --- a/tests/bdd/features/write.feature +++ b/tests/bdd/features/write.feature @@ -303,7 +303,7 @@ Feature: Writing new entries. And we use the password "test" if prompted And we append to the editor if opened This is a small addendum to my latest entry. - When we run "jrnl --edit" + When we run "jrnl --edit -1" Then the output should contain 1 entry modified @@ -334,3 +334,20 @@ Feature: Writing new entries. When we run "jrnl work This is a new entry" Then the output should contain "Entry added to work journal" And we should get no error + + Scenario Outline: Tags are saved when an entry is edited with --edit and can be searched afterward + Given we use the config "" + And we use the password "test" if prompted + And we append to the editor if opened + @newtag + When we run "jrnl --edit -1" + When we run "jrnl --tags @newtag" + Then the output should contain + 1 entry found + + Examples: configs + | config_file | + | basic_onefile.yaml | + | basic_encrypted.yaml | + | basic_folder.yaml | + | basic_dayone.yaml |