Exemplo n.º 1
0
    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, '***')

        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, '***')
        sync_call_center_user_case(self.user)

        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)
Exemplo n.º 2
0
 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'))
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
 def test_sync_full_name(self):
     other_user = CommCareUser.create(TEST_DOMAIN, 'user7', '***')
     self.addCleanup(other_user.delete)
     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)
Exemplo n.º 7
0
    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)
Exemplo n.º 8
0
 def test_sync_full_name(self):
     other_user = CommCareUser.create(TEST_DOMAIN, 'user7', '***')
     self.addCleanup(other_user.delete)
     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)
Exemplo n.º 9
0
def create_domain_and_user(domain_name, username):
    domain = create_domain(domain_name)
    user = CommCareUser.get_by_username(username)
    if user:
        user.delete()
    user = CommCareUser.create(domain_name, username, '***')

    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)
    return domain, user
Exemplo n.º 10
0
def create_domain_and_user(domain_name, username):
    domain = create_domain(domain_name)
    user = CommCareUser.get_by_username(username)
    if user:
        user.delete()
    user = CommCareUser.create(domain_name, username, '***')

    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)
    return domain, user
Exemplo n.º 11
0
    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, '***')

        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, '***')
        sync_call_center_user_case(self.user)

        load_data(self.domain_name, self.user.user_id, case_opened_by='not me', case_closed_by='not me')
Exemplo n.º 12
0
    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, '***')

        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, '***')
        sync_call_center_user_case(self.user)

        load_data(self.domain_name, self.user.user_id, case_opened_by='not me', case_closed_by='not me')
Exemplo n.º 13
0
 def test_sync_custom_user_data(self):
     self.user.user_data = {
         '': 'blank_key',
         'blank_val': '',
         'ok': 'good',
         'name with spaces': 'ok',
         '8starts_with_a_number': '0',
         'xml_starts_with_xml': '0',
         '._starts_with_punctuation': '0',
     }
     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')
Exemplo n.º 14
0
 def test_sync_custom_user_data(self):
     self.user.user_data = {
         '': 'blank_key',
         'blank_val': '',
         'ok': 'good',
         'name with spaces': 'ok',
         '8starts_with_a_number': '0',
         'xml_starts_with_xml': '0',
         '._starts_with_punctuation': '0',
     }
     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')
Exemplo n.º 15
0
 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)
Exemplo n.º 16
0
 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)
Exemplo n.º 17
0
    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, '***')

        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, '***')
        sync_call_center_user_case(self.user)

        load_data(self.domain_name, self.user.user_id)
Exemplo n.º 18
0
def sync_user_cases_task(user_id):
    user = CommCareUser.get_by_user_id(user_id)
    sync_call_center_user_case(user)
    sync_usercase(user)
Exemplo n.º 19
0
 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)
Exemplo n.º 20
0
 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)
Exemplo n.º 21
0
def sync_user_cases_task(user_id):
    user = CommCareUser.get_by_user_id(user_id)
    sync_call_center_user_case(user)
    sync_usercase(user)
Exemplo n.º 22
0
 def test_no_location_sync(self):
     self.user.unset_location()
     self.user.save()
     sync_call_center_user_case(self.user)
     self.assertCallCenterCaseOwner("")
Exemplo n.º 23
0
 def test_no_location_sync(self):
     self.user.unset_location()
     self.user.save()
     sync_call_center_user_case(self.user)
     self.assertCallCenterCaseOwner("")