Add tests for delete

This commit is contained in:
Alex Selimov 2025-04-22 21:48:05 -04:00
parent 5fa7e7bde9
commit 6c8a7ea6a1
2 changed files with 15 additions and 2 deletions

View File

@ -121,7 +121,7 @@ class MailDir:
return senders return senders
def get_paths_for_email(self, email: str) -> list[str]: 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): def remove_email(self, email: str):
self._df.drop(self._df[self._df["email"] == email].index, inplace=True) self._df.drop(self._df[self._df["email"] == email].index, inplace=True)

View File

@ -1,5 +1,18 @@
from fixtures import * 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): def test_delete_files(sample_email_dir):