Beispiel #1
0
    def test_profile_str(self):
        """Tests string representation of Profile"""
        user = sample_user('*****@*****.**', 'password')
        profile = Profile.objects.get(user=user)

        # assert
        self.assertEqual(str(profile), profile.user.email)
Beispiel #2
0
 def setUp(self):
     """setup"""
     self.user = sample_user()
     self.staffuser = sample_staffuser()
     self.superuser = sample_superuser()
     self.client = Client()
     self.client.login(email="*****@*****.**", password="******")
Beispiel #3
0
    def test_phone_format(self):
        """Tests regex validation of phone field"""
        # setup
        user = sample_user()

        # test minimum length
        with self.assertRaises(ValidationError):
            user.phone = '123456789'
            user.full_clean()
            user.save()

        # test maximum length
        with self.assertRaises(ValidationError):
            user.phone = '0123456789000'
            user.full_clean()
            user.save()

        # test non digits
        with self.assertRaises(ValidationError):
            user.phone = '+123456789O'
            user.full_clean()
            user.save()

        # test valid format
        user.phone = '0123456789'
        user.full_clean()
        user.save()
        self.assertEqual(user.phone, '0123456789')
Beispiel #4
0
    def test_user_str(self):
        """Tests string representation of User"""
        # setup
        email = '*****@*****.**'
        user = sample_user(email, 'password')

        # assert
        self.assertEqual(str(user), email)
Beispiel #5
0
 def setUp(self):
     """setup"""
     self.user = sample_user()
     self.staffuser = sample_staffuser()
     self.staffuser.user_permissions.add(get_perm('add', 'user'))
     self.superuser = sample_superuser()
     self.client = Client()
     self.client.login(email='*****@*****.**', password='******')
Beispiel #6
0
    def setUp(self):
        """setup"""
        self.user = sample_user()
        self.otheruser = sample_user(email='*****@*****.**', password='******')

        self.staffuser = sample_staffuser()
        self.staffuser.user_permissions.add(get_perm('view', 'user'),
                                            get_perm('view', 'profile'))

        self.otherstaffuser = sample_staffuser(email='*****@*****.**',
                                               password='******')
        self.otherstaffuser.user_permissions.add(get_perm('view', 'user'),
                                                 get_perm('view', 'profile'))

        self.superuser = sample_superuser()
        self.client = Client()
        self.client.login(email='*****@*****.**', password='******')
Beispiel #7
0
    def test_profile_create_signal(self):
        """Tests if a profile is created on user creation"""
        user = sample_user()
        profile = Profile.objects.get(user=user)

        # assert
        self.assertEqual(profile, user.profile)
        self.assertEqual(profile.user, user)
        self.assertEqual(profile.user.email, user.email)
Beispiel #8
0
    def test_profile_update_signal(self):
        """Tests if a profile is updated on user update"""
        user = sample_user()
        user.first_name = 'First'
        user.last_name = 'Last'
        user.profile.gender = 'M'
        user.full_clean()
        user.save()

        profile = Profile.objects.get(user=user)

        # assert
        self.assertEqual(profile.gender, 'M')
        self.assertEqual(profile.user.get_full_name(), 'First Last')
Beispiel #9
0
    def test_get_phone_intl_format(self):
        """Tests international formatted phone number"""
        # setup
        user = sample_user()
        self.assertIsNone(user.get_phone_intl_format())

        user.phone = '01234567890'
        user.full_clean()
        user.save()

        # assert
        self.assertEqual(user.phone, '01234567890')
        self.assertEqual(user.get_phone_intl_format(), '+8801234567890')
        self.assertEqual(user.get_phone_intl_format(prefix='+1'),
                         '+101234567890')
Beispiel #10
0
    def test_profile_age(self):
        """Tests a user's age in Profile"""
        user = sample_user()
        self.assertIsNone(user.profile.birthday)
        self.assertEqual(user.profile.age, 0)

        user.profile.birthday = timezone.datetime(1988, 5, 19)
        user.full_clean()
        user.save()

        profile = Profile.objects.get(user=user)
        self.assertIsNotNone(profile.birthday)
        self.assertEqual(
            int((timezone.now().date() - profile.birthday).days / 365.25),
            profile.age)
Beispiel #11
0
    def test_profile_picture(self):
        """Tests a user's profile picture upload"""
        user = sample_user()
        profile = Profile.objects.get(user=user)
        profile.image = SimpleUploadedFile('profile_pic.jpg',
                                           b'this is a profile picture',
                                           'image/jpeg')
        profile.full_clean()
        profile.save()

        # assert
        self.assertIsNotNone(profile.image)
        self.assertTrue(os.path.exists(profile.image.file.name))
        self.assertEqual(  # test for upload path
            profile.image.name,
            f"Users/{profile.user.id}/{profile.image.name.split('/')[-1]}")
        profile.image.close()
Beispiel #12
0
    def test_user_update(self):
        """Tests user object updating and saving"""
        # setup
        user = sample_user(first_name='Someone')
        self.assertEqual(user.first_name, 'Someone')
        self.assertIsNone(user.last_name)

        # update
        user.first_name = 'Sample'
        user.last_name = 'User'
        user.full_clean()
        user.save()  # updates user

        # assert
        self.assertNotEqual(user.first_name, 'Someone')
        self.assertIsNotNone(user.last_name)
        self.assertEqual(user.first_name, 'Sample')
        self.assertEqual(user.last_name, 'User')
Beispiel #13
0
    def test_get_full_name(self):
        """Tests retrieval of user's full name"""
        # test for none
        user = sample_user()
        self.assertIsNone(user.get_full_name())

        # test with first only
        user.first_name = 'First'
        user.full_clean()
        user.save()
        self.assertEqual(user.get_full_name(), 'First')

        # test with last only
        user.first_name = None
        user.last_name = 'Name'
        user.full_clean()
        user.save()
        self.assertEqual(user.get_full_name(), 'Name')

        # test with both first and last name
        user.first_name = 'First'
        user.full_clean()
        user.save()
        self.assertEqual(user.get_full_name(), 'First Name')
Beispiel #14
0
 def setUp(self):
     """setup"""
     self.user = sample_user()
     self.client = Client()
     self.client.login(email='*****@*****.**', password='******')
Beispiel #15
0
 def setUp(self):
     """setup"""
     self.user = sample_user()
     self.client = Client()