Fixtures for approved domains

This commit is contained in:
Neil Martinsen-Burrell 2023-03-21 10:00:25 -05:00
parent ab1eb0ead1
commit 96b95bae8a
No known key found for this signature in database
GPG key ID: 6A3C818CC10D0184
2 changed files with 25 additions and 1 deletions

View file

@ -107,6 +107,10 @@ class DomainApplicationFixture:
"status": "investigating",
"organization_name": "Example - In Investigation",
},
{
"status": "investigating",
"organization_name": "Example - Approved",
},
]
@classmethod
@ -249,3 +253,22 @@ class DomainApplicationFixture:
cls._set_many_to_many_relations(da, app)
except Exception as e:
logger.warning(e)
class DomainFixture(DomainApplicationFixture):
"""Create one domain and permissions on it for each user."""
@classmethod
def load(cls):
try:
users = list(User.objects.all()) # force evaluation to catch db errors
except Exception as e:
logger.warning(e)
return
for user in users:
# approve one of each users investigating status domains
application = DomainApplication.objects.filter(creator=user, status=DomainApplication.INVESTIGATING).last()
logger.debug(f"Approving {application} for {user}")
application.approve()
application.save()

View file

@ -3,7 +3,7 @@ import logging
from django.core.management.base import BaseCommand
from auditlog.context import disable_auditlog # type: ignore
from registrar.fixtures import UserFixture, DomainApplicationFixture
from registrar.fixtures import UserFixture, DomainApplicationFixture, DomainFixture
logger = logging.getLogger(__name__)
@ -15,4 +15,5 @@ class Command(BaseCommand):
with disable_auditlog():
UserFixture.load()
DomainApplicationFixture.load()
DomainFixture.load()
logger.info("All fixtures loaded.")