def setUp(self):
        super(CaseTypeReminderTestCase, self).setUp()
        self.domain = self.domain_obj.name
        self.user = CommCareUser.create(self.domain,
                                        'chw.bob4',
                                        'abc',
                                        phone_number='99912345')

        self.handler1 = (
            CaseReminderHandler.create(
                self.domain, 'test').set_case_criteria_start_condition(
                    'case_type_a', 'start_sending1',
                    MATCH_ANY_VALUE).set_case_criteria_start_date(
                        start_offset=1).set_last_submitting_user_recipient().
            set_sms_content_type('en').set_schedule_manually(
                EVENT_AS_OFFSET, 3, [
                    CaseReminderEvent(day_num=0,
                                      fire_time=time(0, 0),
                                      message={'en': 'Message1'},
                                      callback_timeout_intervals=[]),
                ]).set_stop_condition(
                    stop_case_property='stop_sending1').set_advanced_options())
        self.handler1.save()

        self.handler2 = (
            CaseReminderHandler.create(
                self.domain, 'test').set_case_criteria_start_condition(
                    'case_type_a', 'start_sending2',
                    MATCH_ANY_VALUE).set_case_criteria_start_date(
                        start_offset=2).set_last_submitting_user_recipient().
            set_sms_content_type('en').set_schedule_manually(
                EVENT_AS_OFFSET, 3, [
                    CaseReminderEvent(day_num=0,
                                      fire_time=time(0, 0),
                                      message={'en': 'Message2'},
                                      callback_timeout_intervals=[]),
                ]).set_stop_condition(
                    stop_case_property='stop_sending2').set_advanced_options())
        self.handler2.save()

        self.handler3 = (
            CaseReminderHandler.create(
                self.domain, 'test').set_case_criteria_start_condition(
                    'case_type_a', 'start_sending3',
                    MATCH_ANY_VALUE).set_case_criteria_start_date(
                        start_offset=3).set_last_submitting_user_recipient().
            set_sms_content_type('en').set_schedule_manually(
                EVENT_AS_OFFSET, 3, [
                    CaseReminderEvent(day_num=0,
                                      fire_time=time(0, 0),
                                      message={'en': 'Message3'},
                                      callback_timeout_intervals=[]),
                ]).set_stop_condition(
                    stop_case_property='stop_sending3').set_advanced_options())
        self.handler3.save()
    def setUp(self):
        super(StartConditionReminderTestCase, self).setUp()
        self.domain = self.domain_obj.name
        self.user = CommCareUser.create(self.domain,
                                        'chw.bob5',
                                        'abc',
                                        phone_number='99912345')

        self.handler1 = (
            CaseReminderHandler.create(
                self.domain, 'test').set_case_criteria_start_condition(
                    'case_type_a', 'start_sending1', MATCH_REGEX,
                    '^(ok|\d\d\d\d-\d\d-\d\d)').set_case_criteria_start_date(
                        start_date='start_sending1',
                        start_offset=1).set_last_submitting_user_recipient().
            set_sms_content_type('en').set_schedule_manually(
                EVENT_AS_OFFSET, 3, [
                    CaseReminderEvent(day_num=0,
                                      fire_time=time(0, 0),
                                      message={'en': 'Message1'},
                                      callback_timeout_intervals=[]),
                ]).set_stop_condition(
                    stop_case_property='stop_sending1').set_advanced_options(
                        use_today_if_start_date_is_blank=True))
        self.handler1.save()
    def setUp(self):
        super(StartConditionReminderTestCase, self).setUp()
        self.domain = self.domain_obj.name
        self.user = CommCareUser.create(self.domain, 'chw.bob5', 'abc', phone_number='99912345')

        self.handler1 = (CaseReminderHandler.create(self.domain, 'test')
            .set_case_criteria_start_condition('case_type_a', 'start_sending1',
                MATCH_REGEX, '^(ok|\d\d\d\d-\d\d-\d\d)')
            .set_case_criteria_start_date(start_date='start_sending1', start_offset=1)
            .set_last_submitting_user_recipient()
            .set_sms_content_type('en')
            .set_schedule_manually(
                EVENT_AS_OFFSET,
                3,
                [
                    CaseReminderEvent(
                        day_num=0,
                        fire_time=time(0, 0),
                        message={'en': 'Message1'},
                        callback_timeout_intervals=[]
                    ),
                ])
            .set_stop_condition(stop_case_property='stop_sending1')
            .set_advanced_options(use_today_if_start_date_is_blank=True))
        self.handler1.save()
    def setUp(self):
        super(ReminderTestCase, self).setUp()
        self.domain = self.domain_obj.name
        self.case_type = "my_case_type"
        self.message = "Test reminder message."

        self.handler = (
            CaseReminderHandler.create(
                self.domain, 'test').set_case_criteria_start_condition(
                    self.case_type, 'start_sending', MATCH_EXACT,
                    'ok').set_case_criteria_start_date(
                        start_offset=1).set_last_submitting_user_recipient().
            set_sms_content_type('en').set_schedule_manually(
                EVENT_AS_OFFSET, 3, [
                    CaseReminderEvent(day_num=0,
                                      fire_time=time(0, 0),
                                      message={'en': self.message},
                                      callback_timeout_intervals=[]),
                ]).set_stop_condition(
                    stop_case_property='stop_sending').set_advanced_options())
        self.handler.save()

        self.user = CommCareUser.create(self.domain,
                                        'chw.bob',
                                        'abc',
                                        phone_number='99912345')
    def setUp(self):
        super(ReminderTestCase, self).setUp()
        self.domain = self.domain_obj.name
        self.case_type = "my_case_type"
        self.message = "Test reminder message."

        self.handler = (CaseReminderHandler.create(self.domain, 'test')
            .set_case_criteria_start_condition(self.case_type, 'start_sending', MATCH_EXACT, 'ok')
            .set_case_criteria_start_date(start_offset=1)
            .set_last_submitting_user_recipient()
            .set_sms_content_type('en')
            .set_schedule_manually(
                EVENT_AS_OFFSET,
                3,
                [
                    CaseReminderEvent(
                        day_num=0,
                        fire_time=time(0, 0),
                        message={'en': self.message},
                        callback_timeout_intervals=[]
                    ),
                ])
            .set_stop_condition(stop_case_property='stop_sending')
            .set_advanced_options()
        )
        self.handler.save()

        self.user = CommCareUser.create(self.domain, 'chw.bob', 'abc', phone_number='99912345')
Example #6
0
 def _create_reminder(self, domain, case_type):
     reminder = (CaseReminderHandler.create(
         domain, 'test').set_case_criteria_start_condition(
             case_type, 'status', MATCH_EXACT,
             'green').set_case_criteria_start_date().set_case_recipient(
             ).set_sms_content_type('en').set_daily_schedule(
                 fire_time=time(12, 0),
                 message={
                     'en': 'Hello {case.name}, your test result was normal.'
                 }).set_stop_condition(
                     max_iteration_count=REPEAT_SCHEDULE_INDEFINITELY).
                 set_advanced_options())
     reminder.save()
     return reminder
    def setUp(self):
        super(ReminderIrregularScheduleTestCase, self).setUp()
        self.domain = self.domain_obj.name
        self.case_type = "my_case_type"
        self.message_1 = "Message 1"
        self.message_2 = "Message 2"
        self.message_3 = "Message 3"

        self.handler = (CaseReminderHandler.create(self.domain, 'test')
            .set_case_criteria_start_condition(self.case_type, 'start_sending', MATCH_ANY_VALUE)
            .set_case_criteria_start_date(start_offset=1)
            .set_last_submitting_user_recipient()
            .set_sms_content_type('en')
            .set_schedule_manually(
                EVENT_AS_SCHEDULE,
                7,
                [
                    CaseReminderEvent(
                        day_num=0,
                        fire_time=time(10, 0),
                        message={"en": self.message_1},
                        callback_timeout_intervals=[]
                    ),
                    CaseReminderEvent(
                        day_num=3,
                        fire_time=time(11, 0),
                        message={"en": self.message_2},
                        callback_timeout_intervals=[]
                    ),
                    CaseReminderEvent(
                        day_num=3,
                        fire_time=time(11, 30),
                        message={"en": self.message_3},
                        callback_timeout_intervals=[]
                    ),
                ])
            .set_stop_condition(max_iteration_count=2, stop_case_property='stop_sending')
            .set_advanced_options()
        )
        self.handler.save()

        self.user = CommCareUser.create(self.domain, 'chw.bob2', 'abc', phone_number='99912345')
    def setUp(self):
        super(ReminderCallbackTestCase, self).setUp()
        self.domain = self.domain_obj.name
        self.case_type = "my_case_type"
        self.message_1 = "Callback Message 1"
        self.message_2 = "Callback Message 2"

        self.handler = (CaseReminderHandler.create(self.domain, 'test')
            .set_case_criteria_start_condition(self.case_type, 'start_sending', MATCH_ANY_VALUE)
            .set_case_criteria_start_date()
            .set_last_submitting_user_recipient()
            .set_sms_callback_content_type('en')
            .set_schedule_manually(
                EVENT_AS_SCHEDULE,
                1,
                [
                    CaseReminderEvent(
                        day_num=0,
                        fire_time=time(10, 0),
                        message={'en': self.message_1},
                        callback_timeout_intervals=[]
                    ),
                    CaseReminderEvent(
                        day_num=0,
                        fire_time=time(11, 0),
                        message={'en': self.message_2},
                        callback_timeout_intervals=[15, 30]
                    )
                ])
            .set_stop_condition(max_iteration_count=3, stop_case_property='stop_sending')
            .set_advanced_options()
        )
        self.handler.save()

        self.user = CommCareUser.create(self.domain, 'chw.bob3', 'abc', phone_number='14445551234')
        self.user.save_verified_number(self.domain, '14445551234', True)
        self.user.user_data['time_zone'] = 'Africa/Nairobi'
        self.user.save()
    def setUp(self):
        super(ReminderIrregularScheduleTestCase, self).setUp()
        self.domain = self.domain_obj.name
        self.case_type = "my_case_type"
        self.message_1 = "Message 1"
        self.message_2 = "Message 2"
        self.message_3 = "Message 3"

        self.handler = (
            CaseReminderHandler.create(
                self.domain, 'test').set_case_criteria_start_condition(
                    self.case_type, 'start_sending',
                    MATCH_ANY_VALUE).set_case_criteria_start_date(
                        start_offset=1).set_last_submitting_user_recipient().
            set_sms_content_type('en').set_schedule_manually(
                EVENT_AS_SCHEDULE, 7, [
                    CaseReminderEvent(day_num=0,
                                      fire_time=time(10, 0),
                                      message={"en": self.message_1},
                                      callback_timeout_intervals=[]),
                    CaseReminderEvent(day_num=3,
                                      fire_time=time(11, 0),
                                      message={"en": self.message_2},
                                      callback_timeout_intervals=[]),
                    CaseReminderEvent(day_num=3,
                                      fire_time=time(11, 30),
                                      message={"en": self.message_3},
                                      callback_timeout_intervals=[]),
                ]).set_stop_condition(
                    max_iteration_count=2,
                    stop_case_property='stop_sending').set_advanced_options())
        self.handler.save()

        self.user = CommCareUser.create(self.domain,
                                        'chw.bob2',
                                        'abc',
                                        phone_number='99912345')
Example #10
0
    def setUp(self):
        super(KooKooTestCase, self).setUp()
        self.ivr_backend = SQLKooKooBackend(
            backend_type=SQLKooKooBackend.IVR,
            name="MOBILE_BACKEND_KOOKOO",
            is_global=True,
            hq_api_id=SQLKooKooBackend.get_api_id())
        self.ivr_backend.set_extra_fields(api_key="xyz")
        self.ivr_backend.save()

        self.user1 = self.create_mobile_worker("user1",
                                               "123",
                                               "91001",
                                               save_vn=False)
        self.user2 = self.create_mobile_worker("user2",
                                               "123",
                                               "91002",
                                               save_vn=False)
        self.create_group("group1", [self.user1, self.user2])

        dirname = os.path.dirname(os.path.abspath(__file__))
        self.load_app("app1.json", dirname)
        self.load_app("app2.json", dirname)

        self.reminder1 = (
            CaseReminderHandler.create(
                self.domain, 'test1').set_case_criteria_start_condition(
                    'participant', 'name', MATCH_EXACT,
                    'case1').set_case_criteria_start_date().set_case_recipient(
                    ).set_ivr_survey_content_type().
            set_schedule_manually(EVENT_AS_SCHEDULE, 1, [
                CaseReminderEvent(
                    day_num=0,
                    fire_time=time(12, 0),
                    fire_time_type=FIRE_TIME_DEFAULT,
                    callback_timeout_intervals=[30],
                    form_unique_id=self.apps[0].modules[0].forms[0].unique_id,
                ),
                CaseReminderEvent(
                    day_num=0,
                    fire_time=time(13, 0),
                    fire_time_type=FIRE_TIME_DEFAULT,
                    callback_timeout_intervals=[30],
                    form_unique_id=self.apps[0].modules[0].forms[1].unique_id,
                ),
            ]).set_stop_condition(max_iteration_count=7).set_advanced_options(
                submit_partial_forms=True, max_question_retries=5))
        self.reminder1.save()

        self.reminder2 = (CaseReminderHandler.create(
            self.domain, 'test2').set_case_criteria_start_condition(
                'participant', 'name', MATCH_EXACT, 'case2'
            ).set_case_criteria_start_date().set_case_owner_recipient(
            ).set_ivr_survey_content_type().set_daily_schedule(
                fire_time=time(12, 0),
                timeouts=[30, 30],
                form_unique_id=self.apps[1].modules[0].forms[0].unique_id
            ).set_stop_condition(max_iteration_count=7).set_advanced_options(
                submit_partial_forms=True,
                include_case_side_effects=True,
                max_question_retries=5))
        self.reminder2.save()
    def setUp(self):
        super(CaseTypeReminderTestCase, self).setUp()
        self.domain = self.domain_obj.name
        self.user = CommCareUser.create(self.domain, 'chw.bob4', 'abc', phone_number='99912345')

        self.handler1 = (CaseReminderHandler.create(self.domain, 'test')
            .set_case_criteria_start_condition('case_type_a', 'start_sending1', MATCH_ANY_VALUE)
            .set_case_criteria_start_date(start_offset=1)
            .set_last_submitting_user_recipient()
            .set_sms_content_type('en')
            .set_schedule_manually(
                EVENT_AS_OFFSET,
                3,
                [
                    CaseReminderEvent(
                        day_num=0,
                        fire_time=time(0, 0),
                        message={'en': 'Message1'},
                        callback_timeout_intervals=[]
                    ),
                ])
            .set_stop_condition(stop_case_property='stop_sending1')
            .set_advanced_options()
        )
        self.handler1.save()

        self.handler2 = (CaseReminderHandler.create(self.domain, 'test')
            .set_case_criteria_start_condition('case_type_a', 'start_sending2', MATCH_ANY_VALUE)
            .set_case_criteria_start_date(start_offset=2)
            .set_last_submitting_user_recipient()
            .set_sms_content_type('en')
            .set_schedule_manually(
                EVENT_AS_OFFSET,
                3,
                [
                    CaseReminderEvent(
                        day_num=0,
                        fire_time=time(0, 0),
                        message={'en': 'Message2'},
                        callback_timeout_intervals=[]
                    ),
                ])
            .set_stop_condition(stop_case_property='stop_sending2')
            .set_advanced_options()
        )
        self.handler2.save()

        self.handler3 = (CaseReminderHandler.create(self.domain, 'test')
            .set_case_criteria_start_condition('case_type_a', 'start_sending3', MATCH_ANY_VALUE)
            .set_case_criteria_start_date(start_offset=3)
            .set_last_submitting_user_recipient()
            .set_sms_content_type('en')
            .set_schedule_manually(
                EVENT_AS_OFFSET,
                3,
                [
                    CaseReminderEvent(
                        day_num=0,
                        fire_time=time(0, 0),
                        message={'en': 'Message3'},
                        callback_timeout_intervals=[]
                    ),
                ])
            .set_stop_condition(stop_case_property='stop_sending3')
            .set_advanced_options()
        )
        self.handler3.save()