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')
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'])
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())
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(), '*****@*****.**')
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())
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)