0

I want to unit test for the models.py in django. I do not know how to unit test for the function natural_key()

class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(_('email address'), unique=True)
    username = models.CharField(max_length=10, default="default", null=True, blank=True)


    @property
    def natural_key(self):
        return (self.email, self.username)

I tried

self.user1 = User.objects.create(
     email="user@email.com"
     username="username1")

def test_natural_key_is_created(self):
   self.assertEquals(self.user1.natural_key, "user@email.com", "username1")

but my unit test is failed

1 Answers1

0

Make it equal to a tuple

self.assertEquals(self.user1.natural_key, ("user@email.com", "username1"))

Assertions are formatted like this:

self.assertEquals(value_a, value_b, error_msg)
# or
self.assertTrue(boolean_value, error_msg)

So you were saying the error message was username1

Nealium
  • 2,025
  • 1
  • 7
  • 9