(tests) improve tests for mailbox api

Regroup mailbox-related tests
+ add test 404 when trying to retrive a domain that doesn't exist
+ use enabled domains on tests
This commit is contained in:
Marie PUPO JEAMMET
2024-08-06 17:15:53 +02:00
committed by Marie
parent b637774179
commit 402e73582c
4 changed files with 19 additions and 4 deletions

View File

@@ -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]
)

View File

@@ -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(