Django unit test inline model for admin dashboard
Я работаю над юнит-тестом и хочу протестировать панель администратора, где у меня есть информация о пользователе с инлайн-моделями. Я не знаю, как заполнить данные в эти модели.
это тест для админки:
def test_user_admin__create(superuser, client):
client.force_login(superuser)
phone_number = factory.Faker._get_faker().phone_number()
password = factory.Faker._get_faker().password()
response = client.post(
reverse("admin:users_user_add"),
{
"phone_number": phone_number,
"password1": password,
"password2": password,
"is_superuser": True,
"is_staff": True,
},
follow=True,
)
модели:
class User(AbstractUser, PermissionsMixin):
phone_number = PhoneNumberField(unique=True)
email = models.EmailField("Email address", unique=True, null=True, blank=True)
password = models.CharField(_("password"), max_length=128)
first_name = models.CharField(_("first name"), max_length=150, blank=True)
last_name = models.CharField(_("last name"), max_length=150, blank=True)
class Address(models.Model):
label = models.CharField(max_length=200)
user = models.ForeignKey("User", on_delete=models.CASCADE, related_name="addresses")
is_default = models.BooleanField(default=False)
street = models.CharField(_("Street"), max_length=200)
а регистрация происходит так:
class UserAddressInline(admin.StackedInline):
model = Address
extra = 0
class UserAdmin(admin.ModelAdmin):
add_form = CustomUserCreationForm
form = UserChangeForm
inlines = [
UserAddressInline,
]
admin.site.register(User, UserAdmin)
admin.site.register(Address, AddressAdmin)
Я хочу протестировать панель администратора и заполнить данными модель User и Addresses с помощью функции test_user_admin__create