Работа с Enum полями

This commit is contained in:
2026-07-30 20:12:39 +03:00
parent abd999d245
commit 50f6638416
26 changed files with 601 additions and 38 deletions

View File

@@ -10,3 +10,4 @@
from .account_test_data import AccountTestData
from .session_test_data import SessionTestData
from .workspace_test_data import WorkspaceTestData

View File

@@ -10,8 +10,10 @@
import uuid
from net.xeaf.rack.enums import WorkspaceRole
from net.xeaf.rack.models import AccountModel
from net.xeaf.rack.utils import DateUtils
from .workspace_test_data import WorkspaceTestData
class AccountTestData:
@@ -56,6 +58,8 @@ class AccountTestData:
account.full_name = "Иван И. Иванов"
account.email = "i.ivanov@xeaf.net"
account.set_password(cls.DEFAULT_PASSWORD)
account.workspace_id = WorkspaceTestData.IVANOV_WORKSPACE_ID
account.role = WorkspaceRole.OWNER
account.joined_at = DateUtils.now()
account.save()
@@ -72,6 +76,8 @@ class AccountTestData:
account.full_name = "Петр П. Петров"
account.email = "p.petrov@xeaf.net"
account.set_password(cls.DEFAULT_PASSWORD)
account.workspace_id = WorkspaceTestData.PETROV_WORKSPACE_ID
account.role = WorkspaceRole.OWNER
account.joined_at = DateUtils.now()
account.save()

View File

@@ -0,0 +1,64 @@
# DRF Rack
# Библиотека классов расширений для Django REST Framework
#
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
# Все права защищены. Лицензия: MIT
"""
Описание класса WorkspaceTestData
"""
import uuid
from net.xeaf.rack.models import WorkspaceModel
class WorkspaceTestData:
"""
Инициализирует модели данных тестовых Рабочих пространств
"""
IVANOV_WORKSPACE_ID = uuid.UUID("377cbf24-6658-4b51-a7b2-7ca1ca0f331d")
""" Уникальный идентификатор пространства пользователя Иван Иванов """
IVANOV_WORKSPACE = 'i-ivanov'
""" Имя пространства пользователя Иван Иванов """
PETROV_WORKSPACE_ID = uuid.UUID("22711511-a3c2-4891-88c3-68c14272f949")
""" Уникальный идентификатор пространства пользователя Петр Петров """
PETROV_WORKSPACE = 'p-petrov'
""" Имя пространства пользователя Петр Петров """
@classmethod
def init_workspaces(cls):
"""
Инициализирует модели данных тестовых Рабочих пространств
"""
cls.init_ivanov_workspace()
cls.init_petrov_workspace()
@classmethod
def init_ivanov_workspace(cls):
"""
Инициализирует модель данных тестового пространства пользователя Иван Иванов
"""
workspace = WorkspaceModel()
workspace.id = cls.IVANOV_WORKSPACE_ID
workspace.slug = cls.IVANOV_WORKSPACE
workspace.description = "Пространство пользователя Иван Иванов"
workspace.save()
@classmethod
def init_petrov_workspace(cls):
"""
Инициализирует модель данных тестового пространства пользователя Петр Петров
"""
workspace = WorkspaceModel()
workspace.id = cls.PETROV_WORKSPACE_ID
workspace.slug = cls.PETROV_WORKSPACE
workspace.description = "Пространство пользователя Петр Петров"
workspace.save()