def test_sync_custom_user_data(self): definition = CustomDataFieldsDefinition( domain=TEST_DOMAIN, field_type=UserFieldsView.field_type) definition.save() definition.set_fields([ Field(slug='from_profile', label='From Profile'), ]) definition.save() profile = CustomDataFieldsProfile( name='callcenter_profile', fields={'from_profile': 'yes'}, definition=definition, ) profile.save() self.user.update_metadata({ '': 'blank_key', 'blank_val': '', 'ok': 'good', 'name with spaces': 'ok', '8starts_with_a_number': '0', 'xml_starts_with_xml': '0', '._starts_with_punctuation': '0', PROFILE_SLUG: profile.id, }) sync_call_center_user_case(self.user) case = self._get_user_case() self.assertIsNotNone(case) self.assertEqual(case.get_case_property('blank_val'), '') self.assertEqual(case.get_case_property('ok'), 'good') self.assertEqual(case.get_case_property(PROFILE_SLUG), str(profile.id)) self.assertEqual(case.get_case_property('from_profile'), 'yes') self.user.pop_metadata(PROFILE_SLUG) definition.delete()
def setUp(self): super(CallCenterCaseSharingTest, self).setUp() self.domain = create_domain(self.domain_name) self.supervisor = CommCareUser.create(self.domain_name, 'supervisor@' + self.domain_name, '***', None, None) self.domain.call_center_config.enabled = True self.domain.call_center_config.case_owner_id = self.supervisor.get_id self.domain.call_center_config.case_type = 'cc_flw' self.domain.save() self.user = CommCareUser.create(self.domain_name, 'user@' + self.domain_name, '***', None, None) sync_call_center_user_case(self.user, self.domain_name) self.group = Group(domain=self.domain_name, name='case sharing group', case_sharing=True, users=[self.user.user_id]) self.group.save() load_data(self.domain_name, self.user.user_id, 'not this user', self.group.get_id, case_opened_by=self.user.user_id, case_closed_by=self.user.user_id)
def test_sync_inactive(self): sync_call_center_user_case(self.user) case = self._get_user_case() self.assertIsNotNone(case) self.user.is_active = False sync_call_center_user_case(self.user) case = self._get_user_case() self.assertTrue(case.closed)
def test_sync(self): sync_call_center_user_case(self.user) case = self._get_user_case() self.assertIsNotNone(case) self.assertEqual(case.name, self.user.username) self.assertEqual(case.get_case_property('username'), self.user.raw_username) self.assertIsNotNone(case.get_case_property('language')) self.assertIsNotNone(case.get_case_property('phone_number'))
def test_sync_retired(self): sync_call_center_user_case(self.user) case = self._get_user_case() self.assertIsNotNone(case) self.user.base_doc += DELETED_SUFFIX sync_call_center_user_case(self.user) case = self._get_user_case() self.assertTrue(case.closed)
def test_sync_full_name(self): other_user = CommCareUser.create(TEST_DOMAIN, 'user7', '***', None, None) self.addCleanup(other_user.delete, deleted_by=None) name = 'Ricky Bowwood' other_user.set_full_name(name) sync_call_center_user_case(other_user) case = self._get_user_case(other_user._id) self.assertIsNotNone(case) self.assertEqual(case.name, name)
def create_domain_and_user(domain_name, username): domain = create_domain(domain_name) user = CommCareUser.get_by_username(username) if user: user.delete(domain_name, deleted_by=None) user = CommCareUser.create(domain_name, username, '***', None, None) domain.call_center_config.enabled = True domain.call_center_config.case_owner_id = user.user_id domain.call_center_config.case_type = CASE_TYPE domain.save() sync_call_center_user_case(user, domain_name) return domain, user
def test_call_center_not_default_case_owner(self): """ call center case owner should not change on sync """ factory = CaseFactory(domain=TEST_DOMAIN, case_defaults={ 'user_id': self.user_id, 'owner_id': 'another_user', 'case_type': CASE_TYPE, 'update': { 'hq_user_id': self.user_id } }) cases = factory.create_or_update_cases( [CaseStructure(attrs={'create': True})]) sync_call_center_user_case(self.user) case = self._get_user_case() self.assertEqual(case.owner_id, cases[0].owner_id)
def setUp(self): super(CallCenterTestOpenedClosed, self).setUp() self.domain = create_domain(self.domain_name) self.supervisor = CommCareUser.create(self.domain_name, 'supervisor@' + self.domain_name, '***', None, None) self.domain.call_center_config.enabled = True self.domain.call_center_config.case_owner_id = self.supervisor.get_id self.domain.call_center_config.case_type = 'cc_flw' self.domain.save() self.user = CommCareUser.create(self.domain_name, 'user@' + self.domain_name, '***', None, None) sync_call_center_user_case(self.user, self.domain_name) load_data(self.domain_name, self.user.user_id, case_opened_by='not me', case_closed_by='not me')
def setUp(self): super(CallCenterSupervisorGroupTest, self).setUp() self.domain = create_domain(self.domain_name) self.supervisor = CommCareUser.create(self.domain_name, 'supervisor@' + self.domain_name, '***', None, None) self.supervisor_group = Group(domain=self.domain_name, name='supervisor group', case_sharing=True, users=[self.supervisor.get_id]) self.supervisor_group.save() self.domain.call_center_config.enabled = True self.domain.call_center_config.case_owner_id = self.supervisor_group.get_id self.domain.call_center_config.case_type = 'cc_flw' self.domain.save() self.user = CommCareUser.create(self.domain_name, 'user@' + self.domain_name, '***', None, None) sync_call_center_user_case(self.user) load_data(self.domain_name, self.user.user_id)
def test_no_location_sync(self): self.user.unset_location() self.user.save() sync_call_center_user_case(self.user) self.assertCallCenterCaseOwner("")
def test_opened_by_id_is_system(self): sync_call_center_user_case(self.user) case = self._get_user_case() self.assertEqual(case.opened_by, CALLCENTER_USER)