2
class SystemUserAdmin(UserAdmin):
    list_display = ('get_phone',)
​
    def get_phone(self, obj):
        address = obj.cause.address
        return address.phone if address else '-'
    get_phone.short_description = 'Phone'

additional_admin_site.register(User, SystemUserAdmin)

How can to test function get_phone?

Do I need to get instance SystemUserAdmin for User instance?

1 Answers1

0
from django.contrib.admin.sites import AdminSite
from django.test import TestCase

from core.admin import SystemUserAdmin
from core.models import User
from core.test.factories import UserFactory


class SystemUserAdminTestCase(TestCase):
    def setUp(self) -> None:
        self.user = UserFactory()

    def test_get_phone(self) -> None:
        user_admin = SystemUserAdmin(model=User, admin_site=AdminSite())
        response = user_admin.get_phone(self.user)
        #...