Пример #1
0
 def clean_mobile_phone(self):
     mobile_number = self.cleaned_data.get('mobile_phone')
     validator = MobileNumberValidater(self.organization, mobile_number, self.reporter_id)
     valid, message = validator.validate()
     if not valid and message:
         raise ValidationError(message)
     return self.cleaned_data.get('mobile_phone')
Пример #2
0
 def test_should_validate_the_mobile_number_for_trial_account_if_not_unique(
         self):
     org = Mock(spec=Organization)
     type(org).in_trial_mode = PropertyMock(return_value=True)
     validator = MobileNumberValidater(org, "56789", "rep")
     with patch(
             "datawinners.accountmanagement.mobile_number_validater.get_data_senders_on_trial_account_with_mobile_number"
     ) as get_data_senders_on_trial_account_with_mobile_number:
         with patch(
                 "datawinners.accountmanagement.mobile_number_validater.get_database_manager_for_org"
         ) as get_db_manager:
             manager = MagicMock(spec=DatabaseManager)
             manager.load_all_rows_in_view.return_value = []
             get_db_manager.return_value = manager
             get_data_senders_on_trial_account_with_mobile_number.return_value = [
                 {
                     'key': ['12345678', 'name', 'some_other_id'],
                     'value': None
                 }
             ]
             valid, message = validator.validate()
             self.assertFalse(valid)
             self.assertEquals(
                 message,
                 validation_message_dict['duplicate_in_different_account'])
Пример #3
0
 def test_should_validate_the_mobile_number_for_trial_account_if_unique(
         self):
     org = Mock(spec=Organization)
     type(org).in_trial_mode = PropertyMock(return_value=True)
     validator = MobileNumberValidater(org, "56789", "rep")
     with patch(
             "datawinners.accountmanagement.mobile_number_validater.get_data_senders_on_trial_account_with_mobile_number"
     ) as get_data_senders_on_trial_account_with_mobile_number:
         with patch(
                 "datawinners.accountmanagement.mobile_number_validater.get_database_manager_for_org"
         ) as get_db_manager:
             manager = MagicMock(spec=DatabaseManager)
             manager.load_all_rows_in_view.return_value = []
             get_db_manager.return_value = manager
             get_data_senders_on_trial_account_with_mobile_number.return_value = []
             self.assertTrue(validator.validate())
Пример #4
0
    def test_user_email_validation_should_be_case_insensitive(self):
        User.objects.create_user('*****@*****.**', '*****@*****.**', 'password')
        trial_organization = Organization(
            name='test_org_for_trial_account',
            sector='PublicHealth',
            address='add',
            city='Pune',
            country='IN',
            zipcode='411006',
            account_type='Basic',
            org_id=OrganizationIdCreator().generateId(),
            status='Activated')
        trial_organization.save()
        mobile_validater = MobileNumberValidater(trial_organization, '788522',
                                                 'no_id')
        mobile_validater.validate = MagicMock(return_value=(True, ''))
        with patch("datawinners.accountmanagement.forms.MobileNumberValidater"
                   ) as validater:
            with patch(
                    "datawinners.accountmanagement.forms.datasender_count_with"
            ) as datasender_count_with_mock:
                validater.return_value = mobile_validater
                form = UserProfileForm(organization=trial_organization,
                                       data={
                                           'title': 'manager',
                                           'full_name': 'user one',
                                           'username': '******',
                                           'mobile_phone': '7889522'
                                       })

                self.assertFalse(form.is_valid())
                self.assertEqual(form.errors['username'], [
                    'This email address is already in use. Please supply a different email address'
                ])
                mobile_validater.validate.assert_called_with()
                datasender_count_with_mock.return_value = 0
                form = UserProfileForm(organization=trial_organization,
                                       data={
                                           'title': 'manager',
                                           'full_name': 'user one',
                                           'username': '******',
                                           'mobile_phone': '7889522'
                                       })

                self.assertTrue(form.is_valid())
                self.assertEqual(form.clean_username(), '*****@*****.**')
Пример #5
0
 def test_should_validate_the_mobile_number_for_paid_account_if_not_unique(
         self):
     org = Mock(spec=Organization)
     type(org).in_trial_mode = PropertyMock(return_value=False)
     validator = MobileNumberValidater(org, "56789", "rep")
     with patch(
             "datawinners.accountmanagement.mobile_number_validater.find_reporters_by_from_number"
     ) as find_reporters_by_from_number:
         with patch(
                 "datawinners.accountmanagement.mobile_number_validater.get_database_manager_for_org"
         ) as get_db_manager:
             find_reporters_by_from_number.return_value = []
             find_reporters_by_from_number.side_effect = NumberNotRegisteredException(
                 "12345678")
             manager = MagicMock(spec=DatabaseManager)
             manager.load_all_rows_in_view.return_value = []
             get_db_manager.return_value = manager
             self.assertTrue(validator.validate())
Пример #6
0
 def test_should_validate_the_mobile_number_for_paid_account_if_unique(
         self):
     org = Mock(spec=Organization)
     type(org).in_trial_mode = PropertyMock(return_value=False)
     validator = MobileNumberValidater(org, "56789", "rep")
     manager = MagicMock(spec=DatabaseManager)
     with patch(
             "datawinners.accountmanagement.mobile_number_validater.find_reporters_by_from_number"
     ) as find_reporters_by_from_number:
         with patch(
                 "datawinners.accountmanagement.mobile_number_validater.get_database_manager_for_org"
         ) as get_db_manager:
             datasender = Entity(manager,
                                 REPORTER_ENTITY_TYPE,
                                 short_code='reporter_id')
             find_reporters_by_from_number.return_value = [datasender]
             manager = MagicMock(spec=DatabaseManager)
             manager.load_all_rows_in_view.return_value = []
             get_db_manager.return_value = manager
             valid, message = validator.validate()
             self.assertFalse(valid)