From 6c8a7ea6a179917459251ca76372fd52b72e261b Mon Sep 17 00:00:00 2001 From: Alex Selimov Date: Tue, 22 Apr 2025 21:48:05 -0400 Subject: [PATCH] Add tests for delete --- src/maildirclean/maildir.py | 2 +- tests/test_filedir.py | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/maildirclean/maildir.py b/src/maildirclean/maildir.py index dc0ac2d..21d690e 100644 --- a/src/maildirclean/maildir.py +++ b/src/maildirclean/maildir.py @@ -121,7 +121,7 @@ class MailDir: return senders def get_paths_for_email(self, email: str) -> list[str]: - return self._df.loc[self._df == email, "path"].to_list() + return self._df.loc[self._df.email == email, "path"].to_list() def remove_email(self, email: str): self._df.drop(self._df[self._df["email"] == email].index, inplace=True) diff --git a/tests/test_filedir.py b/tests/test_filedir.py index b369626..2e27279 100644 --- a/tests/test_filedir.py +++ b/tests/test_filedir.py @@ -1,5 +1,18 @@ from fixtures import * -from maildirclean.filedir import delete_files +from maildirclean.filedir import delete_all_from_selected_email, delete_files +from maildirclean.maildir import TopSender, parse_maildir + + +def test_deleted_from_selected_email(sample_email_dir): + maildir = parse_maildir(sample_email_dir) + delete_all_from_selected_email([TopSender("test@something.org", [""], 2)], maildir) + + assert len(maildir._df) == 1 + assert maildir._df.iloc[0].email == "not_a_test@something.org" + + files = list(Path(sample_email_dir).glob("*")) + assert len(files) == 1 + assert files[0] == Path(sample_email_dir) / "1" def test_delete_files(sample_email_dir):