def setUpClass(cls):
        super(CustomContentTest, cls).setUpClass()

        cls.location_types = setup_location_types(cls.domain, [
            STATE_TYPE_CODE,
            DISTRICT_LOCATION_TYPE_CODE,
            BLOCK_LOCATION_TYPE_CODE,
            SUPERVISOR_LOCATION_TYPE_CODE,
            AWC_LOCATION_TYPE_CODE,
        ])

        cls.state1 = make_loc('state1', domain=cls.domain, type=STATE_TYPE_CODE)
        cls.district1 = make_loc('district1', domain=cls.domain, type=DISTRICT_LOCATION_TYPE_CODE,
            parent=cls.state1)
        cls.block1 = make_loc('block1', domain=cls.domain, type=BLOCK_LOCATION_TYPE_CODE, parent=cls.district1)
        cls.ls1 = make_loc('ls1', domain=cls.domain, type=SUPERVISOR_LOCATION_TYPE_CODE, parent=cls.block1)
        cls.awc1 = make_loc('awc1', domain=cls.domain, type=AWC_LOCATION_TYPE_CODE, parent=cls.ls1)
        cls.awc2 = make_loc('awc2', domain=cls.domain, type=AWC_LOCATION_TYPE_CODE, parent=None)

        cls.user1 = CommCareUser.create(cls.domain, 'mobile-1', 'abc', location=cls.awc1)
        cls.user2 = CommCareUser.create(cls.domain, 'mobile-2', 'abc', location=cls.awc2)
        cls.user3 = CommCareUser.create(cls.domain, 'mobile-3', 'abc', location=cls.ls1)

        cls.create_basic_related_cases(cls.awc1.location_id)
        cls.red_child_health_case = cls.create_case(
            'child_health',
            parent_case_id=cls.child_person_case.case_id,
            parent_identifier='parent',
            parent_relationship='extension',
            update={'zscore_grading_wfa': 'red'},
            owner_id=cls.awc1.location_id,
        )

        cls.migrated_case = cls.create_case('person', update={'migration_status': 'migrated'})
        cls.opted_out_case = cls.create_case('person', update={'registered_status': 'not_registered'})
Пример #2
0
    def setUpClass(cls):
        super(SchedulingRecipientTest, cls).setUpClass()

        cls.domain_obj = create_domain(cls.domain)

        cls.location_types = setup_location_types(cls.domain,
                                                  ['country', 'state', 'city'])
        cls.country_location = make_loc('usa',
                                        domain=cls.domain,
                                        type='country')
        cls.state_location = make_loc('ma',
                                      domain=cls.domain,
                                      type='state',
                                      parent=cls.country_location)
        cls.city_location = make_loc('boston',
                                     domain=cls.domain,
                                     type='city',
                                     parent=cls.state_location)

        cls.mobile_user = CommCareUser.create(cls.domain, 'mobile', 'abc')
        cls.mobile_user.set_location(cls.city_location)

        cls.mobile_user2 = CommCareUser.create(cls.domain, 'mobile2', 'abc')
        cls.mobile_user2.set_location(cls.state_location)

        cls.web_user = WebUser.create(cls.domain, 'web', 'abc')

        cls.group = Group(domain=cls.domain, users=[cls.mobile_user.get_id])
        cls.group.save()

        cls.case_group = CommCareCaseGroup(domain=cls.domain)
        cls.case_group.save()
    def setUpClass(cls):
        super(CustomRecipientTest, cls).setUpClass()
        cls.create_basic_related_cases()

        cls.location_types = setup_location_types(cls.domain,
            [SUPERVISOR_LOCATION_TYPE_CODE, AWC_LOCATION_TYPE_CODE])

        cls.ls1 = make_loc('ls1', domain=cls.domain, type=SUPERVISOR_LOCATION_TYPE_CODE)
        cls.awc1 = make_loc('awc1', domain=cls.domain, type=AWC_LOCATION_TYPE_CODE, parent=cls.ls1)
        cls.awc2 = make_loc('awc2', domain=cls.domain, type=AWC_LOCATION_TYPE_CODE, parent=None)
Пример #4
0
    def setUpClass(cls):
        super(CustomRecipientTest, cls).setUpClass()
        cls.create_basic_related_cases()

        cls.location_types = setup_location_types(cls.domain,
            [SUPERVISOR_LOCATION_TYPE_CODE, AWC_LOCATION_TYPE_CODE])

        cls.ls1 = make_loc('ls1', domain=cls.domain, type=SUPERVISOR_LOCATION_TYPE_CODE)
        cls.awc1 = make_loc('awc1', domain=cls.domain, type=AWC_LOCATION_TYPE_CODE, parent=cls.ls1)
        cls.awc2 = make_loc('awc2', domain=cls.domain, type=AWC_LOCATION_TYPE_CODE, parent=None)
    def setUpClass(cls):
        super(TestAWWSubmissionPerformanceIndicator, cls).setUpClass()
        cls.domain_obj = create_domain(cls.domain)

        def make_user(name, location):
            user = CommCareUser.create(cls.domain, name, 'password')
            user.set_location(location)
            return user

        cls.loc_types = setup_location_types(cls.domain, ['awc'])
        cls.loc = make_loc('awc', type='awc', domain=cls.domain)
        cls.user = make_user('user', cls.loc)
Пример #6
0
    def setUpClass(cls):
        super(SchedulingRecipientTest, cls).setUpClass()

        cls.domain_obj = create_domain(cls.domain)

        cls.location_types = setup_location_types(cls.domain, ['country', 'state', 'city'])
        cls.country_location = make_loc('usa', domain=cls.domain, type='country')
        cls.state_location = make_loc('ma', domain=cls.domain, type='state', parent=cls.country_location)
        cls.city_location = make_loc('boston', domain=cls.domain, type='city', parent=cls.state_location)

        cls.mobile_user = CommCareUser.create(cls.domain, 'mobile', 'abc')
        cls.mobile_user.set_location(cls.city_location)

        cls.mobile_user2 = CommCareUser.create(cls.domain, 'mobile2', 'abc')
        cls.mobile_user2.set_location(cls.state_location)

        cls.mobile_user3 = CommCareUser.create(cls.domain, 'mobile3', 'abc')
        cls.mobile_user3.user_data['role'] = 'pharmacist'
        cls.mobile_user3.save()

        cls.mobile_user4 = CommCareUser.create(cls.domain, 'mobile4', 'abc')
        cls.mobile_user4.user_data['role'] = 'nurse'
        cls.mobile_user4.save()

        cls.mobile_user5 = CommCareUser.create(cls.domain, 'mobile5', 'abc')
        cls.mobile_user5.user_data['role'] = ['nurse', 'pharmacist']
        cls.mobile_user5.save()

        cls.web_user = WebUser.create(cls.domain, 'web', 'abc')

        cls.web_user2 = WebUser.create(cls.domain, 'web2', 'abc')
        cls.web_user2.user_data['role'] = 'nurse'
        cls.web_user2.save()

        cls.group = Group(domain=cls.domain, users=[cls.mobile_user.get_id])
        cls.group.save()

        cls.group2 = Group(
            domain=cls.domain,
            users=[
                cls.mobile_user.get_id,
                cls.mobile_user3.get_id,
                cls.mobile_user4.get_id,
                cls.mobile_user5.get_id,
            ]
        )
        cls.group2.save()

        cls.case_group = CommCareCaseGroup(domain=cls.domain)
        cls.case_group.save()

        cls.process_pillow_changes = process_pillow_changes('DefaultChangeFeedPillow')
        cls.process_pillow_changes.add_pillow(get_case_messaging_sync_pillow())
Пример #7
0
    def setUpClass(cls):
        super(SchedulingRecipientTest, cls).setUpClass()

        cls.domain_obj = create_domain(cls.domain)

        cls.location_types = setup_location_types(cls.domain, ['country', 'state', 'city'])
        cls.country_location = make_loc('usa', domain=cls.domain, type='country')
        cls.state_location = make_loc('ma', domain=cls.domain, type='state', parent=cls.country_location)
        cls.city_location = make_loc('boston', domain=cls.domain, type='city', parent=cls.state_location)

        cls.mobile_user = CommCareUser.create(cls.domain, 'mobile', 'abc')
        cls.mobile_user.set_location(cls.city_location)

        cls.mobile_user2 = CommCareUser.create(cls.domain, 'mobile2', 'abc')
        cls.mobile_user2.set_location(cls.state_location)

        cls.mobile_user3 = CommCareUser.create(cls.domain, 'mobile3', 'abc')
        cls.mobile_user3.user_data['role'] = 'pharmacist'
        cls.mobile_user3.save()

        cls.mobile_user4 = CommCareUser.create(cls.domain, 'mobile4', 'abc')
        cls.mobile_user4.user_data['role'] = 'nurse'
        cls.mobile_user4.save()

        cls.mobile_user5 = CommCareUser.create(cls.domain, 'mobile5', 'abc')
        cls.mobile_user5.user_data['role'] = ['nurse', 'pharmacist']
        cls.mobile_user5.save()

        cls.web_user = WebUser.create(cls.domain, 'web', 'abc')

        cls.web_user2 = WebUser.create(cls.domain, 'web2', 'abc')
        cls.web_user2.user_data['role'] = 'nurse'
        cls.web_user2.save()

        cls.group = Group(domain=cls.domain, users=[cls.mobile_user.get_id])
        cls.group.save()

        cls.group2 = Group(
            domain=cls.domain,
            users=[
                cls.mobile_user.get_id,
                cls.mobile_user3.get_id,
                cls.mobile_user4.get_id,
                cls.mobile_user5.get_id,
            ]
        )
        cls.group2.save()

        cls.case_group = CommCareCaseGroup(domain=cls.domain)
        cls.case_group.save()
Пример #8
0
    def setUpClass(cls):
        super(TestAWWSubmissionPerformanceIndicator, cls).setUpClass()
        cls.domain_obj = create_domain(cls.domain)

        def make_user(name, location):
            user = CommCareUser.create(cls.domain, name, 'password')
            user.set_location(location)
            return user

        cls.loc_types = setup_location_types(cls.domain, ['awc'])
        cls.loc = make_loc('awc', type='awc', domain=cls.domain)
        cls.user = make_user('user', cls.loc)
        cls.user_sans_app_status = make_user('user_sans_app_status', cls.loc)
        cls.batch = Batch.objects.create(
            start_datetime=datetime.now(),
            end_datetime=datetime.now(),
            completed_on=datetime.now(),
            dag_slug='batch',
        )
        cls.app_dim = ApplicationDim.objects.create(
            batch=cls.batch,
            domain=cls.domain,
            application_id=100007,
            name='icds-cas',
            deleted=False,
        )
        cls.user_dim = UserDim.objects.create(
            batch=cls.batch,
            user_id=cls.user.get_id,
            username=cls.user.username,
            user_type=cls.user._get_user_type(),
            doc_type=cls.user.doc_type,
            date_joined=datetime.utcnow() - timedelta(days=5000),
            deleted=False,
        )
        cls.app_fact = ApplicationStatusFact.objects.create(
            batch=cls.batch,
            app_dim=cls.app_dim,
            user_dim=cls.user_dim,
            domain=cls.domain,
            last_form_submission_date=None,
        )
    def setUpClass(cls):
        super(TestAWWSubmissionPerformanceIndicator, cls).setUpClass()
        cls.domain_obj = create_domain(cls.domain)

        def make_user(name, location):
            user = CommCareUser.create(cls.domain, name, 'password')
            user.set_location(location)
            return user

        cls.loc_types = setup_location_types(cls.domain, ['awc'])
        cls.loc = make_loc('awc', type='awc', domain=cls.domain)
        cls.loc2 = make_loc('awc2', type='awc', domain=cls.domain)
        cls.user = make_user('user', cls.loc)
        cls.user_sans_aggregation = make_user('user_sans_aggregation',
                                              cls.loc2)
        cls.agg_inactive_aww = AggregateInactiveAWW.objects.create(
            awc_site_code=cls.user.raw_username,
            awc_id=cls.loc._id,
            last_submission=None,
        )
Пример #10
0
    def setUpClass(cls):
        super(CustomContentTest, cls).setUpClass()

        cls.location_types = setup_location_types(cls.domain, [
            STATE_TYPE_CODE,
            DISTRICT_LOCATION_TYPE_CODE,
            BLOCK_LOCATION_TYPE_CODE,
            SUPERVISOR_LOCATION_TYPE_CODE,
            AWC_LOCATION_TYPE_CODE,
        ])

        cls.state1 = make_loc('state1', domain=cls.domain, type=STATE_TYPE_CODE)
        cls.district1 = make_loc('district1', domain=cls.domain, type=DISTRICT_LOCATION_TYPE_CODE,
            parent=cls.state1)
        cls.block1 = make_loc('block1', domain=cls.domain, type=BLOCK_LOCATION_TYPE_CODE, parent=cls.district1)
        cls.ls1 = make_loc('ls1', domain=cls.domain, type=SUPERVISOR_LOCATION_TYPE_CODE, parent=cls.block1)
        cls.awc1 = make_loc('awc1', domain=cls.domain, type=AWC_LOCATION_TYPE_CODE, parent=cls.ls1)
        cls.awc2 = make_loc('awc2', domain=cls.domain, type=AWC_LOCATION_TYPE_CODE, parent=None)

        cls.user1 = CommCareUser.create(cls.domain, 'mobile-1', 'abc', location=cls.awc1)
        cls.user2 = CommCareUser.create(cls.domain, 'mobile-2', 'abc', location=cls.awc2)
        cls.user3 = CommCareUser.create(cls.domain, 'mobile-3', 'abc', location=cls.ls1)

        cls.create_user_case(cls.user1)
        cls.create_user_case(cls.user2)
        cls.create_user_case(cls.user3)

        cls.create_basic_related_cases(cls.awc1.location_id)
        cls.red_child_health_case = cls.create_case(
            'child_health',
            parent_case_id=cls.child_person_case.case_id,
            parent_identifier='parent',
            parent_relationship='extension',
            update={'zscore_grading_wfa': 'red'},
            owner_id=cls.awc1.location_id,
        )

        cls.migrated_case = cls.create_case('person', update={'migration_status': 'migrated'})
        cls.opted_out_case = cls.create_case('person', update={'registered_status': 'not_registered'})
Пример #11
0
    def setUpClass(cls):
        super(GetICDSSmsUsageTest, cls).setUpClass()
        cls.domain_obj = create_domain(cls.domain)

        def make_user(name, location):
            user = CommCareUser.create(cls.domain, name, 'password')
            user.set_location(location)
            return user

        cls.loc_types = setup_location_types(cls.domain, ['state', 'district', 'block', 'supervisor', 'awc'])
        cls.states = (
            make_loc('state', type='state', domain=cls.domain),
            make_loc('state2', type='state', domain=cls.domain),
        )
        cls.districts = (
            make_loc('district', type='district', domain=cls.domain, parent=cls.states[0]),
            make_loc('district2', type='district', domain=cls.domain, parent=cls.states[1]),
        )
        cls.blocks = (
            make_loc('block', type='block', domain=cls.domain, parent=cls.districts[0]),
            make_loc('block2', type='block', domain=cls.domain, parent=cls.districts[1]),
        )
        cls.supervisors = (
            make_loc('supervisor', type='supervisor', domain=cls.domain, parent=cls.blocks[0]),
            make_loc('supervisor2', type='supervisor', domain=cls.domain, parent=cls.blocks[1]),
        )
        cls.awcs = (
            make_loc('awc', type='awc', domain=cls.domain, parent=cls.supervisors[0]),
            make_loc('awc2', type='awc', domain=cls.domain, parent=cls.supervisors[1]),
        )
        cls.users = (
            make_user('user', cls.awcs[0]),
            make_user('user2', cls.awcs[1]),
        )

        cls.sms_list.append(SMS.objects.create(
            domain=cls.domain,
            date=date(2017, 4, 10),
            backend_api=AirtelTCLBackend.get_api_id(),
            direction='O',
            processed=True,
            couch_recipient=cls.users[0]._id,
            custom_metadata={'icds_indicator': 'xxx'}
        ))
        cls.sms_list.append(SMS.objects.create(
            domain=cls.domain,
            date=date(2017, 4, 10),
            backend_api=AirtelTCLBackend.get_api_id(),
            direction='O',
            processed=True,
            couch_recipient=cls.users[0]._id,
            custom_metadata={'icds_indicator': 'xxx'}
        ))
        cls.sms_list.append(SMS.objects.create(
            domain=cls.domain,
            date=date(2017, 4, 10),
            backend_api=AirtelTCLBackend.get_api_id(),
            direction='O',
            processed=True,
            couch_recipient=cls.users[1]._id,
            custom_metadata={'icds_indicator': 'xxx'}
        ))
        cls.sms_list.append(SMS.objects.create(
            domain=cls.domain,
            date=date(2017, 4, 10),
            backend_api=AirtelTCLBackend.get_api_id(),
            direction='O',
            processed=True,
            couch_recipient=cls.users[1]._id,
            custom_metadata={'icds_indicator': 'aaa'}
        ))
        date_start = '2017-04-01'
        date_end = '2017-05-01'
        call_command("get_icds_sms_usage", cls.domain, date_start, date_end)
        cls.workbook_name = 'icds-sms-usage--{0}--{1}.xlsx'.format(date_start, date_end)
        cls.workbook = openpyxl.load_workbook(cls.workbook_name)
Пример #12
0
    def setUpClass(cls):
        super(GetICDSSmsUsageTest, cls).setUpClass()
        cls.domain_obj = create_domain(cls.domain)

        def make_user(name, location):
            user = CommCareUser.create(cls.domain, name, 'password')
            user.set_location(location)
            return user

        cls.loc_types = setup_location_types(cls.domain, ['state', 'district', 'block', 'supervisor', 'awc'])
        cls.states = (
            make_loc('state', type='state', domain=cls.domain),
            make_loc('state2', type='state', domain=cls.domain),
        )
        cls.districts = (
            make_loc('district', type='district', domain=cls.domain, parent=cls.states[0]),
            make_loc('district2', type='district', domain=cls.domain, parent=cls.states[1]),
        )
        cls.blocks = (
            make_loc('block', type='block', domain=cls.domain, parent=cls.districts[0]),
            make_loc('block2', type='block', domain=cls.domain, parent=cls.districts[1]),
        )
        cls.supervisors = (
            make_loc('supervisor', type='supervisor', domain=cls.domain, parent=cls.blocks[0]),
            make_loc('supervisor2', type='supervisor', domain=cls.domain, parent=cls.blocks[1]),
        )
        cls.awcs = (
            make_loc('awc', type='awc', domain=cls.domain, parent=cls.supervisors[0]),
            make_loc('awc2', type='awc', domain=cls.domain, parent=cls.supervisors[1]),
        )
        cls.users = (
            make_user('user', cls.awcs[0]),
            make_user('user2', cls.awcs[1]),
        )

        cls.sms_list.append(SMS.objects.create(
            domain=cls.domain,
            date=date(2017, 4, 10),
            backend_api=AirtelTCLBackend.get_api_id(),
            direction='O',
            processed=True,
            couch_recipient=cls.users[0]._id,
            custom_metadata={'icds_indicator': 'xxx'}
        ))
        cls.sms_list.append(SMS.objects.create(
            domain=cls.domain,
            date=date(2017, 4, 10),
            backend_api=AirtelTCLBackend.get_api_id(),
            direction='O',
            processed=True,
            couch_recipient=cls.users[0]._id,
            custom_metadata={'icds_indicator': 'xxx'}
        ))
        cls.sms_list.append(SMS.objects.create(
            domain=cls.domain,
            date=date(2017, 4, 10),
            backend_api=AirtelTCLBackend.get_api_id(),
            direction='O',
            processed=True,
            couch_recipient=cls.users[1]._id,
            custom_metadata={'icds_indicator': 'xxx'}
        ))
        cls.sms_list.append(SMS.objects.create(
            domain=cls.domain,
            date=date(2017, 4, 10),
            backend_api=AirtelTCLBackend.get_api_id(),
            direction='O',
            processed=True,
            couch_recipient=cls.users[1]._id,
            custom_metadata={'icds_indicator': 'aaa'}
        ))
        date_start = '2017-04-01'
        date_end = '2017-05-01'
        call_command("get_icds_sms_usage", cls.domain, date_start, date_end)
        cls.workbook_name = 'icds-sms-usage--{0}--{1}.xlsx'.format(date_start, date_end)
        cls.workbook = openpyxl.load_workbook(cls.workbook_name)
Пример #13
0
    def setUpClass(cls):
        super(SchedulingRecipientTest, cls).setUpClass()

        cls.domain_obj = create_domain(cls.domain)

        cls.location_types = setup_location_types(cls.domain,
                                                  ['country', 'state', 'city'])
        cls.country_location = make_loc('usa',
                                        domain=cls.domain,
                                        type='country')
        cls.state_location = make_loc('ma',
                                      domain=cls.domain,
                                      type='state',
                                      parent=cls.country_location)
        cls.city_location = make_loc('boston',
                                     domain=cls.domain,
                                     type='city',
                                     parent=cls.state_location)

        cls.mobile_user = CommCareUser.create(cls.domain, 'mobile', 'abc',
                                              None, None)
        cls.mobile_user.set_location(cls.city_location)

        cls.mobile_user2 = CommCareUser.create(cls.domain, 'mobile2', 'abc',
                                               None, None)
        cls.mobile_user2.set_location(cls.state_location)

        cls.mobile_user3 = CommCareUser.create(cls.domain,
                                               'mobile3',
                                               'abc',
                                               None,
                                               None,
                                               metadata={
                                                   'role': 'pharmacist',
                                               })
        cls.mobile_user3.save()

        cls.mobile_user4 = CommCareUser.create(cls.domain,
                                               'mobile4',
                                               'abc',
                                               None,
                                               None,
                                               metadata={
                                                   'role': 'nurse',
                                               })
        cls.mobile_user4.save()

        cls.mobile_user5 = CommCareUser.create(cls.domain,
                                               'mobile5',
                                               'abc',
                                               None,
                                               None,
                                               metadata={
                                                   'role':
                                                   ['nurse', 'pharmacist'],
                                               })
        cls.mobile_user5.save()

        full_username = normalize_username('mobile', cls.domain)
        cls.full_mobile_user = CommCareUser.create(cls.domain, full_username,
                                                   'abc', None, None)

        cls.definition = CustomDataFieldsDefinition(
            domain=cls.domain, field_type=UserFieldsView.field_type)
        cls.definition.save()
        cls.definition.set_fields([
            Field(
                slug='role',
                label='Role',
            ),
        ])
        cls.definition.save()
        cls.profile = CustomDataFieldsProfile(
            name='nurse_profile',
            fields={'role': ['nurse']},
            definition=cls.definition,
        )
        cls.profile.save()
        cls.mobile_user6 = CommCareUser.create(cls.domain,
                                               'mobile6',
                                               'abc',
                                               None,
                                               None,
                                               metadata={
                                                   PROFILE_SLUG:
                                                   cls.profile.id,
                                               })
        cls.mobile_user5.save()

        cls.web_user = WebUser.create(cls.domain, 'web', 'abc', None, None)

        cls.web_user2 = WebUser.create(cls.domain,
                                       'web2',
                                       'abc',
                                       None,
                                       None,
                                       metadata={
                                           'role': 'nurse',
                                       })
        cls.web_user2.save()

        cls.group = Group(domain=cls.domain, users=[cls.mobile_user.get_id])
        cls.group.save()

        cls.group2 = Group(domain=cls.domain,
                           users=[
                               cls.mobile_user.get_id,
                               cls.mobile_user3.get_id,
                               cls.mobile_user4.get_id,
                               cls.mobile_user5.get_id,
                               cls.mobile_user6.get_id,
                           ])
        cls.group2.save()

        cls.case_group = CommCareCaseGroup(domain=cls.domain)
        cls.case_group.save()

        cls.process_pillow_changes = process_pillow_changes(
            'DefaultChangeFeedPillow')
        cls.process_pillow_changes.add_pillow(get_case_messaging_sync_pillow())