diff --git a/src/backend/mailbox_manager/factories.py b/src/backend/mailbox_manager/factories.py index 5052549..70feea2 100644 --- a/src/backend/mailbox_manager/factories.py +++ b/src/backend/mailbox_manager/factories.py @@ -55,7 +55,7 @@ class MailDomainAccessFactory(factory.django.DjangoModelFactory): model = models.MailDomainAccess user = factory.SubFactory(core_factories.UserFactory) - domain = factory.SubFactory(MailDomainFactory) + domain = factory.SubFactory(MailDomainEnabledFactory) role = factory.fuzzy.FuzzyChoice( [r[0] for r in enums.MailDomainRoleChoices.choices] ) diff --git a/src/backend/mailbox_manager/tests/api/mail_domain/test_api_mail_domains_retrieve.py b/src/backend/mailbox_manager/tests/api/mail_domain/test_api_mail_domains_retrieve.py index 30cbb04..5a284fe 100644 --- a/src/backend/mailbox_manager/tests/api/mail_domain/test_api_mail_domains_retrieve.py +++ b/src/backend/mailbox_manager/tests/api/mail_domain/test_api_mail_domains_retrieve.py @@ -16,7 +16,7 @@ pytestmark = pytest.mark.django_db def test_api_mail_domains__retrieve_anonymous(): """Anonymous users should not be allowed to retrieve a domain.""" - domain = factories.MailDomainFactory() + domain = factories.MailDomainEnabledFactory() response = APIClient().get(f"/api/v1.0/mail-domains/{domain.slug}/") assert response.status_code == status.HTTP_401_UNAUTHORIZED @@ -25,6 +25,21 @@ def test_api_mail_domains__retrieve_anonymous(): } +def test_api_domains__retrieve_non_existing(): + """ + Authenticated users should have an explicit error when trying to retrive + a domain that doesn't exist. + """ + client = APIClient() + client.force_login(core_factories.UserFactory()) + + response = client.get( + "/api/v1.0/mail-domains/nonexistent.domain/", + ) + assert response.status_code == status.HTTP_404_NOT_FOUND + assert response.json() == {"detail": "Not found."} + + def test_api_mail_domains__retrieve_authenticated_unrelated(): """ Authenticated users should not be allowed to retrieve a domain @@ -35,7 +50,7 @@ def test_api_mail_domains__retrieve_authenticated_unrelated(): client = APIClient() client.force_login(user) - domain = factories.MailDomainFactory() + domain = factories.MailDomainEnabledFactory() response = client.get( f"/api/v1.0/mail-domains/{domain.slug}/", @@ -54,7 +69,7 @@ def test_api_mail_domains__retrieve_authenticated_related(): client = APIClient() client.force_login(user) - domain = factories.MailDomainFactory() + domain = factories.MailDomainEnabledFactory() factories.MailDomainAccessFactory(domain=domain, user=user) response = client.get( diff --git a/src/backend/mailbox_manager/tests/test_api_mailboxes_create.py b/src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_create.py similarity index 100% rename from src/backend/mailbox_manager/tests/test_api_mailboxes_create.py rename to src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_create.py diff --git a/src/backend/mailbox_manager/tests/test_api_mailboxes_list.py b/src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_list.py similarity index 100% rename from src/backend/mailbox_manager/tests/test_api_mailboxes_list.py rename to src/backend/mailbox_manager/tests/api/mailboxes/test_api_mailboxes_list.py