class BaseUserFieldTests(BaseTestCase):
    
    def setUp(self):
        self.field = BaseUserField()
    
    def test_no_such_user(self):
        self.skip_if_auth_not_installed()
        with self.assertRaises(forms.ValidationError) as context_manager:
            self.field.clean('foobarbaz')
        exception = context_manager.exception
        self.assertEquals(1, len(exception.messages))
        self.assertEquals(u'There is no user with this username.',
                          exception.messages[0])
        
    def test_user_exists(self):
        self.skip_if_auth_not_installed()
        user = User.objects.create(username="******")
        self.assertEquals(user, self.field.clean(user.username))

    def test_user_filtered(self):
        self.skip_if_auth_not_installed()        
        user = User.objects.create(username="******")
        def filter_all_users(username):
            return False
        self.field = BaseUserField(recipient_filter=filter_all_users)
        with self.assertRaises(forms.ValidationError) as context_manager:
            self.field.clean('foobarbaz')
        exception = context_manager.exception
        self.assertEquals(1, len(exception.messages))
        self.assertEquals(u'There is no user with this username.',
                          exception.messages[0])
 def setUp(self):
     self.field = BaseUserField()