Esempio n. 1
0
 def setUpClass(cls):
     super(UrgentNonReportingNotificationTestCase, cls).setUpClass()
     delete_all_users()
     cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
     cls.domain = prepare_domain(cls.TEST_DOMAIN)
     cls.program = Program(domain=cls.TEST_DOMAIN, name='Test Program')
     cls.program.save()
    def setUpClass(cls):
        super(UpdateLocationKeywordTest, cls).setUpClass()
        cls.domain = "opt-test"

        cls.domain_obj = Domain(name=cls.domain)
        cls.domain_obj.save()

        cls.setup_subscription(cls.domain_obj.name, SoftwarePlanEdition.ADVANCED)

        cls.backend, cls.backend_mapping = setup_default_sms_test_backend()

        cls.user = create_mobile_worker(cls.domain, 'test', '*****', '4444')

        cls.location_type = LocationType.objects.create(
            domain=cls.domain,
            name='test'
        )

        cls.location = make_location(
            domain=cls.domain,
            name='test',
            site_code='site_code',
            location_type='test'
        )
        cls.location.save()
Esempio n. 3
0
    def setUpClass(cls):
        super(TestUrgentAlerts, cls).setUpClass()
        cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(TEST_DOMAIN)
        cls.district = make_loc(code="district", name="Test District", type="district", domain=TEST_DOMAIN)
        cls.loc1 = make_loc(code="tf", name="Test Facility", type="Hospital", domain=TEST_DOMAIN,
                            parent=cls.district)
        cls.loc2 = make_loc(code="tf2", name="Test Facility 2", type="Hospital", domain=TEST_DOMAIN,
                            parent=cls.district)
        cls.loc3 = make_loc(code="tf3", name="Test Facility 3", type="Hospital", domain=TEST_DOMAIN,
                            parent=cls.district)
        cls.loc4 = make_loc(code="tf4", name="Test Facility 4", type="Hospital", domain=TEST_DOMAIN,
                            parent=cls.district)

        cls.product = Product(domain=TEST_DOMAIN, name='Test Product', code_='tp', unit='each')
        cls.product.save()

        cls.product2 = Product(domain=TEST_DOMAIN, name='Test Product2', code_='tp2', unit='each')
        cls.product2.save()

        cls.user1 = bootstrap_web_user(
            username='******', phone_number='1111', location=cls.district, domain=TEST_DOMAIN,
            first_name='test', last_name='test1',
            user_data={
                'role': []
            }, email='*****@*****.**', password='******'
        )

        set_sms_notifications(TEST_DOMAIN, cls.user1, True)
Esempio n. 4
0
    def setUpClass(cls):
        super(TestReminders, cls).setUpClass()
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        domain = prepare_domain(TEST_DOMAIN)
        mohsw = make_loc(code="moh1", name="Test MOHSW 1", type="MOHSW", domain=domain.name)

        msdzone = make_loc(code="msd1", name="MSD Zone 1", type="MSDZONE",
                           domain=domain.name, parent=mohsw)

        region = make_loc(code="reg1", name="Test Region 1", type="REGION",
                          domain=domain.name, parent=msdzone)
        cls.district = make_loc(code="dis1", name="Test District 1", type="DISTRICT",
                                domain=domain.name, parent=region)
        cls.facility = make_loc(code="loc1", name="Test Facility 1", type="FACILITY",
                                domain=domain.name, parent=cls.district)
        cls.facility.metadata['group'] = 'B'
        cls.facility2 = make_loc(code="loc2", name="Test Facility 2", type="FACILITY",
                                 domain=domain.name, parent=cls.district)
        cls.facility2.metadata['group'] = 'C'
        cls.facility.save()
        cls.facility2.save()

        cls.user1 = bootstrap_user(
            cls.facility, username='******', domain=domain.name, home_loc='loc1', phone_number='5551234',
            first_name='test', last_name='Test'
        )
        bootstrap_user(cls.facility2, username='******', domain=domain.name, home_loc='loc2',
                       phone_number='5555678', first_name='test1', last_name='Test')
        bootstrap_user(cls.district, username='******', domain=domain.name, home_loc='dis1', phone_number='555',
                       first_name='test1', last_name='Test')
        bootstrap_user(cls.district, username='******', domain=domain.name, phone_number='111',
                       first_name='MSD', last_name='Person', user_data={'role': 'MSD'})
Esempio n. 5
0
    def setUpClass(cls):
        super(TestUrgentAlerts, cls).setUpClass()
        cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(TEST_DOMAIN)
        cls.district = make_loc(code="district", name="Test District", type="district", domain=TEST_DOMAIN)
        cls.loc1 = make_loc(code="tf", name="Test Facility", type="Hospital", domain=TEST_DOMAIN,
                            parent=cls.district)
        cls.loc2 = make_loc(code="tf2", name="Test Facility 2", type="Hospital", domain=TEST_DOMAIN,
                            parent=cls.district)
        cls.loc3 = make_loc(code="tf3", name="Test Facility 3", type="Hospital", domain=TEST_DOMAIN,
                            parent=cls.district)
        cls.loc4 = make_loc(code="tf4", name="Test Facility 4", type="Hospital", domain=TEST_DOMAIN,
                            parent=cls.district)

        cls.product = Product(domain=TEST_DOMAIN, name='Test Product', code_='tp', unit='each')
        cls.product.save()

        cls.product2 = Product(domain=TEST_DOMAIN, name='Test Product2', code_='tp2', unit='each')
        cls.product2.save()

        cls.user1 = bootstrap_web_user(
            username='******', phone_number='1111', location=cls.district, domain=TEST_DOMAIN,
            first_name='test', last_name='test1',
            user_data={
                'role': []
            }, email='*****@*****.**', password='******'
        )

        set_sms_notifications(TEST_DOMAIN, cls.user1, True)
Esempio n. 6
0
    def setUpClass(cls):
        super(RemindersTest, cls).bypass_setUpClass()
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend(
        )
        cls.domain = prepare_domain(TEST_DOMAIN)

        cls.district = make_loc(code="dis1",
                                name="Test District 1",
                                type="DISTRICT",
                                domain=TEST_DOMAIN)
        cls.facility = make_loc(code="loc1",
                                name="Test Facility 1",
                                type="FACILITY",
                                domain=TEST_DOMAIN,
                                parent=cls.district)
        cls.facility_sp_id = cls.facility.sql_location.supply_point_id
        cls.user1 = bootstrap_user(cls.facility,
                                   username='******',
                                   domain=TEST_DOMAIN,
                                   home_loc='loc1',
                                   phone_number='5551234',
                                   first_name='test',
                                   last_name='Test')
        create_products(cls, TEST_DOMAIN, [
            "id", "dp", "fs", "md", "ff", "dx", "bp", "pc", "qi", "jd", "mc",
            "ip"
        ])
Esempio n. 7
0
    def setUpClass(cls):
        super(TestReminders, cls).setUpClass()
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        domain = prepare_domain(TEST_DOMAIN)
        mohsw = make_loc(code="moh1", name="Test MOHSW 1", type="MOHSW", domain=domain.name)

        msdzone = make_loc(code="msd1", name="MSD Zone 1", type="MSDZONE",
                           domain=domain.name, parent=mohsw)

        region = make_loc(code="reg1", name="Test Region 1", type="REGION",
                          domain=domain.name, parent=msdzone)
        cls.district = make_loc(code="dis1", name="Test District 1", type="DISTRICT",
                                domain=domain.name, parent=region)
        cls.facility = make_loc(code="loc1", name="Test Facility 1", type="FACILITY",
                                domain=domain.name, parent=cls.district)
        cls.facility.metadata['group'] = 'B'
        cls.facility2 = make_loc(code="loc2", name="Test Facility 2", type="FACILITY",
                                 domain=domain.name, parent=cls.district)
        cls.facility2.metadata['group'] = 'C'
        cls.facility.save()
        cls.facility2.save()

        cls.user1 = bootstrap_user(
            cls.facility, username='******', domain=domain.name, home_loc='loc1', phone_number='5551234',
            first_name='test', last_name='Test'
        )
        bootstrap_user(cls.facility2, username='******', domain=domain.name, home_loc='loc2',
                       phone_number='5555678', first_name='test1', last_name='Test')
        bootstrap_user(cls.district, username='******', domain=domain.name, home_loc='dis1', phone_number='555',
                       first_name='test1', last_name='Test')
        bootstrap_user(cls.district, username='******', domain=domain.name, phone_number='111',
                       first_name='MSD', last_name='Person', user_data={'role': 'MSD'})
Esempio n. 8
0
 def setUpClass(cls):
     super(UrgentNonReportingNotificationTestCase, cls).setUpClass()
     delete_all_users()
     cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
     cls.domain = prepare_domain(cls.TEST_DOMAIN)
     cls.program = Program(domain=cls.TEST_DOMAIN, name='Test Program')
     cls.program.save()
Esempio n. 9
0
 def setUp(self):
     super(BaseReminderTestCase, self).setUp()
     self.domain_obj = Domain(name="test")
     self.domain_obj.save()
     # Prevent resource conflict
     self.domain_obj = Domain.get(self.domain_obj._id)
     self.setup_subscription(self.domain_obj.name, SoftwarePlanEdition.ADVANCED)
     self.sms_backend, self.sms_backend_mapping = setup_default_sms_test_backend()
Esempio n. 10
0
 def setUp(self):
     super(BaseReminderTestCase, self).setUp()
     self.domain_obj = Domain(name="test")
     self.domain_obj.save()
     # Prevent resource conflict
     self.domain_obj = Domain.get(self.domain_obj._id)
     self.setup_subscription(self.domain_obj.name, SoftwarePlanEdition.ADVANCED)
     self.sms_backend, self.sms_backend_mapping = setup_default_sms_test_backend()
Esempio n. 11
0
    def setUpClass(cls):
        super(ILSTestScript, cls).setUpClass()
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        domain = prepare_domain(TEST_DOMAIN)
        USE_SMS_WITH_INACTIVE_CONTACTS.set(TEST_DOMAIN, True, namespace='domain')
        mohsw = make_loc(code="moh1", name="Test MOHSW 1", type="MOHSW", domain=domain.name)

        msdzone = make_loc(code="msd1", name="MSD Zone 1", type="MSDZONE",
                           domain=domain.name, parent=mohsw)

        region = make_loc(code="reg1", name="Test Region 1", type="REGION",
                          domain=domain.name, parent=msdzone)

        cls.district = make_loc(code="dis1", name="Test District 1", type="DISTRICT",
                            domain=domain.name, parent=region)
        cls.district2 = make_loc(code="d10101", name="Test District 2", type="DISTRICT",
                                 domain=domain.name, parent=region)
        cls.district3 = make_loc(code="d10102", name="TESTDISTRICT", type="DISTRICT",
                                 domain=domain.name, parent=region)
        cls.facility = make_loc(code="loc1", name="Test Facility 1", type="FACILITY",
                            domain=domain.name, parent=cls.district, metadata={'group': 'A'})
        cls.facility_sp_id = cls.facility.sql_location.supply_point_id
        facility2 = make_loc(code="loc2", name="Test Facility 2", type="FACILITY",
                             domain=domain.name, parent=cls.district, metadata={'group': 'B'})
        cls.facility3 = make_loc(
            code="d31049", name="Test Facility 3", type="FACILITY", domain=domain.name, parent=cls.district,
            metadata={'group': 'C'}
        )
        cls.user1 = bootstrap_user(
            cls.facility, username='******', domain=domain.name, home_loc='loc1', phone_number='5551234',
            first_name='stella', last_name='Test', language='sw'
        )
        cls.en_user1 = bootstrap_user(
            cls.facility, username='******', domain=domain.name, home_loc='loc1', phone_number='5551235',
            first_name='stella', last_name='Test English', language='en'
        )
        bootstrap_user(facility2, username='******', domain=domain.name, home_loc='loc2', phone_number='5555678',
                       first_name='bella', last_name='Test', language='sw')
        bootstrap_user(cls.district, username='******', domain=domain.name, home_loc='dis1', phone_number='555',
                       first_name='trella', last_name='Test', language='sw')
        bootstrap_user(cls.district, username='******', domain=domain.name, phone_number='111',
                       first_name='MSD', last_name='Person', user_data={'role': 'MSD'}, language='sw')

        for x in range(1, 4):
            bootstrap_user(
                cls.facility3,
                username='******'.format(x), domain=domain.name, phone_number=str(32346 + x),
                first_name='Person {}'.format(x), last_name='Person {}'. format(x), home_loc='d31049',
                language='sw'
            )
            bootstrap_user(
                cls.district2,
                username='******'.format(x), domain=domain.name, phone_number=str(32349 + x),
                first_name='dPerson {}'.format(x), last_name='dPerson {}'. format(x), home_loc='d10101',
                language='sw'
            )

        create_products(cls, domain.name, ["id", "dp", "fs", "md", "ff", "dx", "bp", "pc", "qi", "jd", "mc", "ip"])
Esempio n. 12
0
    def setUpClass(cls):
        super(ILSTestScript, cls).setUpClass()
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        domain = prepare_domain(TEST_DOMAIN)
        USE_SMS_WITH_INACTIVE_CONTACTS.set(TEST_DOMAIN, True, namespace='domain')
        mohsw = make_loc(code="moh1", name="Test MOHSW 1", type="MOHSW", domain=domain.name)

        msdzone = make_loc(code="msd1", name="MSD Zone 1", type="MSDZONE",
                           domain=domain.name, parent=mohsw)

        region = make_loc(code="reg1", name="Test Region 1", type="REGION",
                          domain=domain.name, parent=msdzone)

        cls.district = make_loc(code="dis1", name="Test District 1", type="DISTRICT",
                            domain=domain.name, parent=region)
        cls.district2 = make_loc(code="d10101", name="Test District 2", type="DISTRICT",
                                 domain=domain.name, parent=region)
        cls.district3 = make_loc(code="d10102", name="TESTDISTRICT", type="DISTRICT",
                                 domain=domain.name, parent=region)
        cls.facility = make_loc(code="loc1", name="Test Facility 1", type="FACILITY",
                            domain=domain.name, parent=cls.district, metadata={'group': 'A'})
        cls.facility_sp_id = cls.facility.sql_location.supply_point_id
        facility2 = make_loc(code="loc2", name="Test Facility 2", type="FACILITY",
                             domain=domain.name, parent=cls.district, metadata={'group': 'B'})
        cls.facility3 = make_loc(
            code="d31049", name="Test Facility 3", type="FACILITY", domain=domain.name, parent=cls.district,
            metadata={'group': 'C'}
        )
        cls.user1 = bootstrap_user(
            cls.facility, username='******', domain=domain.name, home_loc='loc1', phone_number='5551234',
            first_name='stella', last_name='Test', language='sw'
        )
        cls.en_user1 = bootstrap_user(
            cls.facility, username='******', domain=domain.name, home_loc='loc1', phone_number='5551235',
            first_name='stella', last_name='Test English', language='en'
        )
        bootstrap_user(facility2, username='******', domain=domain.name, home_loc='loc2', phone_number='5555678',
                       first_name='bella', last_name='Test', language='sw')
        bootstrap_user(cls.district, username='******', domain=domain.name, home_loc='dis1', phone_number='555',
                       first_name='trella', last_name='Test', language='sw')
        bootstrap_user(cls.district, username='******', domain=domain.name, phone_number='111',
                       first_name='MSD', last_name='Person', user_data={'role': 'MSD'}, language='sw')

        for x in range(1, 4):
            bootstrap_user(
                cls.facility3,
                username='******'.format(x), domain=domain.name, phone_number=str(32346 + x),
                first_name='Person {}'.format(x), last_name='Person {}'. format(x), home_loc='d31049',
                language='sw'
            )
            bootstrap_user(
                cls.district2,
                username='******'.format(x), domain=domain.name, phone_number=str(32349 + x),
                first_name='dPerson {}'.format(x), last_name='dPerson {}'. format(x), home_loc='d10101',
                language='sw'
            )

        create_products(cls, domain.name, ["id", "dp", "fs", "md", "ff", "dx", "bp", "pc", "qi", "jd", "mc", "ip"])
Esempio n. 13
0
    def setUpClass(cls):
        super(EWSTestCase, cls).setUpClass()
        cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(TEST_DOMAIN)

        cls.national = make_loc(code='national', name='National', type='country', domain=TEST_DOMAIN)
        cls.region = make_loc(code="region", name="Test Region", type="region", domain=TEST_DOMAIN,
                              parent=cls.national)
        cls.rms = make_loc(code="rms", name="Test Medical Store", type="Regional Medical Store",
                           domain=TEST_DOMAIN, parent=cls.region)
        cls.rms2 = make_loc(code="rms2", name="Test Medical Store 2", type="Regional Medical Store",
                            domain=TEST_DOMAIN, parent=cls.region)
        cls.district = make_loc(code="district", name="Test District", type="district", domain=TEST_DOMAIN)
        cls.loc1 = make_loc(code="tf", name="Test Facility", type="Hospital", domain=TEST_DOMAIN,
                            parent=cls.district)
        cls.loc2 = make_loc(code="tf2", name="Test Facility 2", type="Hospital", domain=TEST_DOMAIN,
                            parent=cls.district)

        cls.user1 = bootstrap_web_user(
            username='******', phone_number='1111', location=cls.district, domain=TEST_DOMAIN,
            first_name='test', last_name='test1',
            user_data={
                'role': []
            }, email='*****@*****.**', password='******'
        )

        set_sms_notifications(TEST_DOMAIN, cls.user1, True)

        cls.national_user = bootstrap_web_user(
            username='******', phone_number='2222', location=cls.national, domain=TEST_DOMAIN,
            first_name='test', last_name='test2',
            user_data={
                'role': []
            }, email='*****@*****.**', password='******'
        )

        set_sms_notifications(TEST_DOMAIN, cls.national_user, True)

        cls.regional_user = bootstrap_web_user(
            username='******', phone_number='4444', location=cls.region, domain=TEST_DOMAIN,
            first_name='test', last_name='test4',
            user_data={
                'role': []
            }, email='*****@*****.**', password='******'
        )

        set_sms_notifications(TEST_DOMAIN, cls.regional_user, True)

        cls.product = Product(domain=TEST_DOMAIN, name='Test Product', code_='tp', unit='each')
        cls.product.save()

        cls.product2 = Product(domain=TEST_DOMAIN, name='Test Product2', code_='tp2', unit='each')
        cls.product2.save()

        assign_products_to_location(cls.loc1, [cls.product])
        assign_products_to_location(cls.loc2, [cls.product, cls.product2])
        assign_products_to_location(cls.rms, [cls.product, cls.product2])
Esempio n. 14
0
    def setUpClass(cls):
        super(OptTestCase, cls).setUpClass()
        cls.domain = 'opt-test'
        cls.domain_obj = Domain(name=cls.domain)
        cls.domain_obj.sms_case_registration_enabled = True
        cls.domain_obj.save()

        cls.setup_subscription(cls.domain, SoftwarePlanEdition.ADVANCED)
        cls.backend, cls.backend_mapping = setup_default_sms_test_backend()
Esempio n. 15
0
    def setUpClass(cls):
        super(OptTestCase, cls).setUpClass()
        cls.domain = 'opt-test'
        cls.domain_obj = Domain(name=cls.domain)
        cls.domain_obj.sms_case_registration_enabled = True
        cls.domain_obj.save()

        cls.setup_subscription(cls.domain, SoftwarePlanEdition.ADVANCED)
        cls.backend, cls.backend_mapping = setup_default_sms_test_backend()
Esempio n. 16
0
    def setUpClass(cls):
        cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(cls.TEST_DOMAIN)

        cls.program = Program(domain=cls.TEST_DOMAIN, name='Test Program')
        cls.program.save()

        cls.program2 = Program(domain=cls.TEST_DOMAIN, name='Test Program2')
        cls.program2.save()
Esempio n. 17
0
    def setUpClass(cls):
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        domain = prepare_domain(TEST_DOMAIN)
        mohsw = make_loc(code="moh1", name="Test MOHSW 1", type="MOHSW", domain=domain.name)

        msdzone = make_loc(code="msd1", name="MSD Zone 1", type="MSDZONE", domain=domain.name, parent=mohsw)

        region = make_loc(code="reg1", name="Test Region 1", type="REGION", domain=domain.name, parent=msdzone)
        cls.district = make_loc(code="dis1", name="Test District 1", type="DISTRICT", domain=domain.name, parent=region)
        cls.facility = make_loc(
            code="loc1", name="Test Facility 1", type="FACILITY", domain=domain.name, parent=cls.district
        )
        cls.facility.metadata["group"] = "B"
        cls.facility2 = make_loc(
            code="loc2", name="Test Facility 2", type="FACILITY", domain=domain.name, parent=cls.district
        )
        cls.facility2.metadata["group"] = "C"
        cls.facility.save()
        cls.facility2.save()

        cls.user1 = bootstrap_user(
            cls.facility,
            username="******",
            domain=domain.name,
            home_loc="loc1",
            phone_number="5551234",
            first_name="test",
            last_name="Test",
        )
        bootstrap_user(
            cls.facility2,
            username="******",
            domain=domain.name,
            home_loc="loc2",
            phone_number="5555678",
            first_name="test1",
            last_name="Test",
        )
        bootstrap_user(
            cls.district,
            username="******",
            domain=domain.name,
            home_loc="dis1",
            phone_number="555",
            first_name="test1",
            last_name="Test",
        )
        bootstrap_user(
            cls.district,
            username="******",
            domain=domain.name,
            phone_number="111",
            first_name="MSD",
            last_name="Person",
            user_data={"role": "MSD"},
        )
Esempio n. 18
0
    def setUpClass(cls):
        super(MissingReportNotificationTestCase, cls).setUpClass()
        cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(cls.TEST_DOMAIN)

        cls.program = Program(domain=cls.TEST_DOMAIN, name='Test Program')
        cls.program.save()

        cls.program2 = Program(domain=cls.TEST_DOMAIN, name='Test Program2')
        cls.program2.save()
Esempio n. 19
0
    def setUp(self):
        super(OptTestCase, self).setUp()
        self.domain = "opt-test"

        self.domain_obj = Domain(name=self.domain)
        self.domain_obj.save()

        self.setup_subscription(self.domain_obj.name, SoftwarePlanEdition.ADVANCED)

        self.backend, self.backend_mapping = setup_default_sms_test_backend()
Esempio n. 20
0
    def setUp(self):
        super(OptTestCase, self).setUp()
        self.domain = 'opt-test'

        self.domain_obj = Domain(name=self.domain)
        self.domain_obj.sms_case_registration_enabled = True
        self.domain_obj.save()

        self.setup_subscription(self.domain_obj.name, SoftwarePlanEdition.ADVANCED)
        self.backend, self.backend_mapping = setup_default_sms_test_backend()
Esempio n. 21
0
    def setUpClass(cls):
        super(MissingReportNotificationTestCase, cls).setUpClass()
        cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(cls.TEST_DOMAIN)

        cls.program = Program(domain=cls.TEST_DOMAIN, name='Test Program')
        cls.program.save()

        cls.program2 = Program(domain=cls.TEST_DOMAIN, name='Test Program2')
        cls.program2.save()
Esempio n. 22
0
 def setUp(self):
     super(HandlerTest, self).setUp()
     self.backend, self.backend_mapping = setup_default_sms_test_backend()
     self.domain = 'ews-handler-test'
     bootstrap_domain(self.domain)
     self.create_account_and_subscription(self.domain)
     self.domain_obj = Domain.get_by_name(self.domain)
     self.loc = make_loc(code="garms", name="Test RMS", type="Regional Medical Store", domain=self.domain)
     self.user = bootstrap_user(username='******', phone_number='323232', domain=self.domain,
         home_loc=self.loc)
Esempio n. 23
0
 def setUpClass(cls):
     super(SMSTests, cls).setUpClass()
     cls.backend, cls.backend_mapping = setup_default_sms_test_backend()
     cls.domain = util.bootstrap_domain(util.TEST_DOMAIN)
     util.bootstrap_location_types(cls.domain.name)
     util.bootstrap_products(cls.domain.name)
     cls.products = sorted(Product.by_domain(cls.domain.name), key=lambda p: p._id)
     cls.loc = util.make_loc('loc1')
     cls.sp = cls.loc.linked_supply_point()
     cls.users = [util.bootstrap_user(cls, **user_def) for user_def in cls.user_definitions]
 def setUpClass(cls):
     super(SMSTests, cls).setUpClass()
     cls.backend, cls.backend_mapping = setup_default_sms_test_backend()
     cls.domain = util.bootstrap_domain(util.TEST_DOMAIN)
     util.bootstrap_location_types(cls.domain.name)
     util.bootstrap_products(cls.domain.name)
     cls.products = sorted(Product.by_domain(cls.domain.name), key=lambda p: p._id)
     cls.loc = util.make_loc('loc1')
     cls.sp = cls.loc.linked_supply_point()
     cls.users = [util.bootstrap_user(cls, **user_def) for user_def in cls.user_definitions]
Esempio n. 25
0
    def setUp(self):
        super(OptTestCase, self).setUp()
        self.domain = 'opt-test'

        self.domain_obj = Domain(name=self.domain)
        self.domain_obj.sms_case_registration_enabled = True
        self.domain_obj.save()

        self.setup_subscription(self.domain_obj.name,
                                SoftwarePlanEdition.ADVANCED)
        self.backend, self.backend_mapping = setup_default_sms_test_backend()
Esempio n. 26
0
    def setUpClass(cls):
        super(TestReportGroups, cls).setUpClass()
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(TEST_DOMAIN)

        cls.district = make_loc(code="dis1", name="Test District 1", type="DISTRICT",
                                domain=TEST_DOMAIN)
        cls.facility = make_loc(code="loc1", name="Test Facility 1", type="FACILITY",
                                domain=TEST_DOMAIN, parent=cls.district)
        cls.user1 = bootstrap_user(
            cls.district, username='******', domain=TEST_DOMAIN, home_loc='dis1', phone_number='5551234',
            first_name='test', last_name='Test'
        )
Esempio n. 27
0
    def setUpClass(cls):
        super(TestReportGroups, cls).setUpClass()
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(TEST_DOMAIN)

        cls.district = make_loc(code="dis1", name="Test District 1", type="DISTRICT",
                                domain=TEST_DOMAIN)
        cls.facility = make_loc(code="loc1", name="Test Facility 1", type="FACILITY",
                                domain=TEST_DOMAIN, parent=cls.district)
        cls.user1 = bootstrap_user(
            cls.district, username='******', domain=TEST_DOMAIN, home_loc='dis1', phone_number='5551234',
            first_name='test', last_name='Test'
        )
Esempio n. 28
0
    def setUpClass(cls):
        cls.datapath = os.path.join(os.path.dirname(__file__), 'data')
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        initial_bootstrap(TEST_DOMAIN)

        config = ILSGatewayConfig()
        config.domain = TEST_DOMAIN
        config.enabled = True
        config.password = '******'
        config.username = '******'
        config.url = 'http://test-api.com/'
        config.save()
        for product in Product.by_domain(TEST_DOMAIN):
            product.delete()
Esempio n. 29
0
    def setUp(self):
        super(QueueingTestCase, self).setUp()
        self.domain = 'test-sms-queueing'
        self.domain_obj = Domain(name=self.domain)
        self.domain_obj.save()
        self.create_account_and_subscription(self.domain)
        self.domain_obj = Domain.get(self.domain_obj._id)
        self.backend, self.backend_mapping = setup_default_sms_test_backend()
        self.contact = CommCareUser.create(self.domain, 'user1', 'abc', phone_number='999123')
        self.contact.save_verified_number(self.domain, '999123', True)

        SmsBillable.objects.filter(domain=self.domain).delete()
        QueuedSMS.objects.all().delete()
        SMS.objects.filter(domain=self.domain).delete()
Esempio n. 30
0
    def setUpClass(cls):
        super(RemindersTest, cls).bypass_setUpClass()
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(TEST_DOMAIN)

        cls.district = make_loc(code="dis1", name="Test District 1", type="DISTRICT",
                                domain=TEST_DOMAIN)
        cls.facility = make_loc(code="loc1", name="Test Facility 1", type="FACILITY",
                                domain=TEST_DOMAIN, parent=cls.district)
        cls.facility_sp_id = cls.facility.sql_location.supply_point_id
        cls.user1 = bootstrap_user(
            cls.facility, username='******', domain=TEST_DOMAIN, home_loc='loc1', phone_number='5551234',
            first_name='test', last_name='Test'
        )
        create_products(cls, TEST_DOMAIN, ["id", "dp", "fs", "md", "ff", "dx", "bp", "pc", "qi", "jd", "mc", "ip"])
Esempio n. 31
0
 def setUp(self):
     super(HandlerTest, self).setUp()
     self.backend, self.backend_mapping = setup_default_sms_test_backend()
     self.domain = 'ews-handler-test'
     bootstrap_domain(self.domain)
     self.create_account_and_subscription(self.domain)
     self.domain_obj = Domain.get_by_name(self.domain)
     self.loc = make_loc(code="garms",
                         name="Test RMS",
                         type="Regional Medical Store",
                         domain=self.domain)
     self.user = bootstrap_user(username='******',
                                phone_number='323232',
                                domain=self.domain,
                                home_loc=self.loc)
Esempio n. 32
0
    def setUp(self):
        super(CommTrackTest, self).setUp()
        # might as well clean house before doing anything
        delete_all_xforms()
        delete_all_cases()
        delete_all_sync_logs()

        StockReport.objects.all().delete()
        StockTransaction.objects.all().delete()

        self.backend, self.backend_mapping = setup_default_sms_test_backend()

        self.domain = bootstrap_domain(TEST_DOMAIN)
        bootstrap_location_types(self.domain.name)
        bootstrap_products(self.domain.name)
        self.ct_settings = CommtrackConfig.for_domain(self.domain.name)
        self.ct_settings.consumption_config = ConsumptionConfig(
            min_transactions=0,
            min_window=0,
            optimal_window=60,
            min_periods=0,
        )
        # todo: remove?
        if self.requisitions_enabled:
            self.ct_settings.requisition_config = get_default_requisition_config(
            )

        self.ct_settings.save()

        self.domain = Domain.get(self.domain._id)

        self.loc = make_loc('loc1')
        self.sp = self.loc.linked_supply_point()
        self.users = [
            bootstrap_user(self, **user_def)
            for user_def in self.user_definitions
        ]

        # everyone should be in a group.
        self.group = Group(domain=TEST_DOMAIN,
                           name='commtrack-folks',
                           users=[u._id for u in self.users],
                           case_sharing=True)
        self.group._id = self.sp.owner_id
        self.group.save()
        self.products = sorted(Product.by_domain(self.domain.name),
                               key=lambda p: p._id)
        self.assertEqual(3, len(self.products))
Esempio n. 33
0
    def setUp(self):
        super(QueueingTestCase, self).setUp()
        self.domain = 'test-sms-queueing'
        self.domain_obj = Domain(name=self.domain)
        self.domain_obj.save()
        self.create_account_and_subscription(self.domain)
        self.domain_obj = Domain.get(self.domain_obj._id)
        self.backend, self.backend_mapping = setup_default_sms_test_backend()
        self.contact = CommCareUser.create(self.domain, 'user1', 'abc', None, None, phone_number='999123')
        entry = self.contact.get_or_create_phone_entry('999123')
        entry.set_two_way()
        entry.set_verified()
        entry.save()

        SmsBillable.objects.filter(domain=self.domain).delete()
        QueuedSMS.objects.all().delete()
        SMS.objects.filter(domain=self.domain).delete()
Esempio n. 34
0
    def setUpClass(cls):
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        domain = prepare_domain(TEST_DOMAIN)
        mohsw = make_loc(code="moh1", name="Test MOHSW 1", type="MOHSW", domain=domain.name)

        msdzone = make_loc(code="msd1", name="MSD Zone 1", type="MSDZONE",
                          domain=domain.name, parent=mohsw)

        region = make_loc(code="reg1", name="Test Region 1", type="REGION",
                          domain=domain.name, parent=msdzone)

        district = make_loc(code="dis1", name="Test District 1", type="DISTRICT",
                            domain=domain.name, parent=region)
        district2 = make_loc(code="d10101", name="Test District 2", type="DISTRICT",
                             domain=domain.name, parent=region)
        facility = make_loc(code="loc1", name="Test Facility 1", type="FACILITY",
                            domain=domain.name, parent=district)
        facility2 = make_loc(code="loc2", name="Test Facility 2", type="FACILITY",
                             domain=domain.name, parent=district)
        facility3 = make_loc(
            code="d31049", name="Test Facility 3", type="FACILITY", domain=domain.name, parent=district
        )
        cls.user1 = bootstrap_user(
            facility, username='******', domain=domain.name, home_loc='loc1', phone_number='5551234',
            first_name='stella', last_name='Test'
        )
        bootstrap_user(facility2, username='******', domain=domain.name, home_loc='loc2', phone_number='5555678',
                       first_name='bella', last_name='Test')
        bootstrap_user(district, username='******', domain=domain.name, home_loc='dis1', phone_number='555',
                       first_name='trella', last_name='Test')
        bootstrap_user(district, username='******', domain=domain.name, phone_number='111',
                       first_name='MSD', last_name='Person', user_data={'role': 'MSD'})

        for x in xrange(1, 4):
            bootstrap_user(
                facility3,
                username='******'.format(x), domain=domain.name, phone_number=str(32346 + x),
                first_name='Person {}'.format(x), last_name='Person {}'. format(x), home_loc='d31049'
            )
            bootstrap_user(
                district2,
                username='******'.format(x), domain=domain.name, phone_number=str(32349 + x),
                first_name='dPerson {}'.format(x), last_name='dPerson {}'. format(x), home_loc='d10101'
            )

        create_products(cls, domain.name, ["id", "dp", "fs", "md", "ff", "dx", "bp", "pc", "qi", "jd", "mc", "ip"])
Esempio n. 35
0
    def setUpClass(cls):
        super(TestReportSummaryBase, cls).setUpClass()
        delete_domain_phone_numbers(TEST_DOMAIN)
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(TEST_DOMAIN)

        cls.district = make_loc(code="dis1", name="TEST DISTRICT", type="DISTRICT", domain=TEST_DOMAIN,
                                metadata={'group': DeliveryGroups().current_submitting_group()})
        cls.facility = make_loc(code="d10001", name="Test Facility 1", type="FACILITY",
                                domain=TEST_DOMAIN, parent=cls.district,
                                metadata={'group': DeliveryGroups().current_submitting_group()})
        cls.facility2 = make_loc(code="d10002", name="Test Facility 2", type="FACILITY",
                                 domain=TEST_DOMAIN, parent=cls.district,
                                 metadata={'group': DeliveryGroups().current_delivering_group()})
        cls.facility3 = make_loc(code="d10003", name="Test Facility 3", type="FACILITY",
                                 domain=TEST_DOMAIN, parent=cls.district,
                                 metadata={'group': DeliveryGroups().current_submitting_group()})

        cls.facilities = [cls.facility, cls.facility2, cls.facility3]
        cls.district_user = bootstrap_user(
            cls.district, username='******', domain=TEST_DOMAIN, home_loc='dis1', phone_number='1234',
            first_name='test', last_name='Test'
        )

        cls.contact1 = bootstrap_user(
            cls.facility, username='******', domain=TEST_DOMAIN, home_loc='d10001', phone_number='1235',
            first_name='test', last_name='Test'
        )

        cls.contact2 = bootstrap_user(
            cls.facility2, username='******', domain=TEST_DOMAIN, home_loc='d10002', phone_number='1236',
            first_name='test', last_name='Test'
        )

        cls.contact3 = bootstrap_user(
            cls.facility3, username='******', domain=TEST_DOMAIN, home_loc='d10003', phone_number='1237',
            first_name='test', last_name='Test'
        )

        for facility in cls.facilities:
            facility.metadata['group'] = cls.relevant_group()
            facility.save()
        create_products(cls, TEST_DOMAIN, ["id", "dp", "fs", "md", "ff", "dx", "bp", "pc", "qi", "jd", "mc", "ip"])
Esempio n. 36
0
    def setUpClass(cls):
        super(TestReportSummaryBase, cls).setUpClass()
        delete_domain_phone_numbers(TEST_DOMAIN)
        cls.sms_backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(TEST_DOMAIN)

        cls.district = make_loc(code="dis1", name="TEST DISTRICT", type="DISTRICT", domain=TEST_DOMAIN,
                                metadata={'group': DeliveryGroups().current_submitting_group()})
        cls.facility = make_loc(code="d10001", name="Test Facility 1", type="FACILITY",
                                domain=TEST_DOMAIN, parent=cls.district,
                                metadata={'group': DeliveryGroups().current_submitting_group()})
        cls.facility2 = make_loc(code="d10002", name="Test Facility 2", type="FACILITY",
                                 domain=TEST_DOMAIN, parent=cls.district,
                                 metadata={'group': DeliveryGroups().current_delivering_group()})
        cls.facility3 = make_loc(code="d10003", name="Test Facility 3", type="FACILITY",
                                 domain=TEST_DOMAIN, parent=cls.district,
                                 metadata={'group': DeliveryGroups().current_submitting_group()})

        cls.facilities = [cls.facility, cls.facility2, cls.facility3]
        cls.district_user = bootstrap_user(
            cls.district, username='******', domain=TEST_DOMAIN, home_loc='dis1', phone_number='1234',
            first_name='test', last_name='Test'
        )

        cls.contact1 = bootstrap_user(
            cls.facility, username='******', domain=TEST_DOMAIN, home_loc='d10001', phone_number='1235',
            first_name='test', last_name='Test'
        )

        cls.contact2 = bootstrap_user(
            cls.facility2, username='******', domain=TEST_DOMAIN, home_loc='d10002', phone_number='1236',
            first_name='test', last_name='Test'
        )

        cls.contact3 = bootstrap_user(
            cls.facility3, username='******', domain=TEST_DOMAIN, home_loc='d10003', phone_number='1237',
            first_name='test', last_name='Test'
        )

        for facility in cls.facilities:
            facility.metadata['group'] = cls.relevant_group()
            facility.save()
        create_products(cls, TEST_DOMAIN, ["id", "dp", "fs", "md", "ff", "dx", "bp", "pc", "qi", "jd", "mc", "ip"])
Esempio n. 37
0
    def setUp(self):
        super(CommTrackTest, self).setUp()
        # might as well clean house before doing anything
        delete_all_xforms()
        delete_all_cases()
        delete_all_sync_logs()

        StockReport.objects.all().delete()
        StockTransaction.objects.all().delete()

        self.backend, self.backend_mapping = setup_default_sms_test_backend()

        self.domain = bootstrap_domain(TEST_DOMAIN)
        bootstrap_location_types(self.domain.name)
        bootstrap_products(self.domain.name)
        self.ct_settings = CommtrackConfig.for_domain(self.domain.name)
        self.ct_settings.consumption_config = ConsumptionConfig(
            min_transactions=0,
            min_window=0,
            optimal_window=60,
            min_periods=0,
        )
        # todo: remove?
        if self.requisitions_enabled:
            self.ct_settings.requisition_config = get_default_requisition_config()

        self.ct_settings.save()

        self.domain = Domain.get(self.domain._id)

        self.loc = make_loc('loc1')
        self.sp = self.loc.linked_supply_point()
        self.users = [bootstrap_user(self, **user_def) for user_def in self.user_definitions]

        # everyone should be in a group.
        self.group = Group(domain=TEST_DOMAIN, name='commtrack-folks',
                           users=[u._id for u in self.users],
                           case_sharing=True)
        self.group._id = self.sp.owner_id
        self.group.save()
        self.products = sorted(Product.by_domain(self.domain.name), key=lambda p: p._id)
        self.assertEqual(3, len(self.products))
Esempio n. 38
0
    def setUpClass(cls):
        super(OptTestCase, cls).setUpClass()
        cls.domain = 'opt-test'
        cls.domain_obj = Domain(name=cls.domain)
        cls.domain_obj.sms_case_registration_enabled = True
        cls.domain_obj.save()

        cls.setup_subscription(cls.domain, SoftwarePlanEdition.ADVANCED)
        cls.backend, cls.backend_mapping = setup_default_sms_test_backend()
        cls.custom_backend = SQLTestSMSBackend.objects.create(
            name='MOBILE_BACKEND_CUSTOM_TEST',
            is_global=True,
            hq_api_id=SQLTestSMSBackend.get_api_id(),
            opt_in_keywords=['RESTART'],
            opt_out_keywords=['RESTOP'])
        cls.custom_backend_mapping = SQLMobileBackendMapping.objects.create(
            is_global=True,
            backend_type=SQLMobileBackend.SMS,
            prefix='1',
            backend=cls.custom_backend,
        )
    def setUpClass(cls):
        super(UpdateLocationKeywordTest, cls).setUpClass()
        cls.domain = "opt-test"

        cls.domain_obj = Domain(name=cls.domain)
        cls.domain_obj.save()

        cls.setup_subscription(cls.domain_obj.name,
                               SoftwarePlanEdition.ADVANCED)

        cls.backend, cls.backend_mapping = setup_default_sms_test_backend()

        cls.user = create_mobile_worker(cls.domain, 'test', '*****', '4444')

        cls.location_type = LocationType.objects.create(domain=cls.domain,
                                                        name='test')

        cls.location = make_location(domain=cls.domain,
                                     name='test',
                                     site_code='site_code',
                                     location_type='test')
        cls.location.save()
Esempio n. 40
0
 def setUp(self):
     super(HandlerTest, self).setUp()
     self.backend, self.backend_mapping = setup_default_sms_test_backend()
Esempio n. 41
0
    def setUpClass(cls):
        super(EWSScriptTest, cls).setUpClass()
        cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        domain = prepare_domain(TEST_DOMAIN)

        p = Product(domain=domain.name, name='Jadelle', code='jd', unit='each')
        p.save()
        p2 = Product(domain=domain.name,
                     name='Male Condom',
                     code='mc',
                     unit='each')
        p2.save()
        p3 = Product(domain=domain.name, name='Lofem', code='lf', unit='each')
        p3.save()
        p4 = Product(domain=domain.name, name='Ng', code='ng', unit='each')
        p4.save()
        p5 = Product(domain=domain.name,
                     name='Micro-G',
                     code='mg',
                     unit='each')
        p5.save()

        Product(domain=domain.name, name='Ad', code='ad', unit='each').save()
        Product(domain=domain.name, name='Al', code='al', unit='each').save()
        Product(domain=domain.name, name='Qu', code='qu', unit='each').save()
        Product(domain=domain.name, name='Sp', code='sp', unit='each').save()
        Product(domain=domain.name, name='Rd', code='rd', unit='each').save()
        Product(domain=domain.name, name='Ov', code='ov', unit='each').save()
        Product(domain=domain.name, name='Ml', code='ml', unit='each').save()

        national = make_loc(code='country',
                            name='Test national',
                            type='country',
                            domain=domain.name)
        region = make_loc(code='region',
                          name='Test region',
                          type='region',
                          domain=domain.name,
                          parent=national)
        loc = make_loc(code="garms",
                       name="Test RMS",
                       type="Regional Medical Store",
                       domain=domain.name,
                       parent=national)
        loc.save()

        rms2 = make_loc(code="wrms",
                        name="Test RMS 2",
                        type="Regional Medical Store",
                        domain=domain.name,
                        parent=region)
        rms2.save()

        cms = make_loc(code="cms",
                       name="Central Medical Stores",
                       type="Central Medical Store",
                       domain=domain.name,
                       parent=national)
        cms.save()

        loc2 = make_loc(code="tf",
                        name="Test Facility",
                        type="CHPS Facility",
                        domain=domain.name,
                        parent=region)
        loc2.save()

        supply_point_id = loc.linked_supply_point().get_id
        supply_point_id2 = loc2.linked_supply_point().get_id

        cls.user1 = bootstrap_user(username='******',
                                   first_name='test1',
                                   last_name='test1',
                                   domain=domain.name,
                                   home_loc=loc)
        cls.user2 = bootstrap_user(username='******',
                                   domain=domain.name,
                                   home_loc=loc2,
                                   first_name='test2',
                                   last_name='test2',
                                   phone_number='222222',
                                   user_data={'role': ['In Charge']})
        FacilityInCharge.objects.create(user_id=cls.user2.get_id,
                                        location=loc2.sql_location)
        cls.user3 = bootstrap_user(username='******',
                                   domain=domain.name,
                                   home_loc=loc2,
                                   first_name='test3',
                                   last_name='test3',
                                   phone_number='333333')
        cls.rms_user = bootstrap_user(username='******',
                                      domain=domain.name,
                                      home_loc=rms2,
                                      first_name='test4',
                                      last_name='test4',
                                      phone_number='44444')
        cls.cms_user = bootstrap_user(username='******',
                                      domain=domain.name,
                                      home_loc=cms,
                                      first_name='test5',
                                      last_name='test5',
                                      phone_number='55555')
        cls.region_user = bootstrap_user(username='******',
                                         domain=domain.name,
                                         home_loc=region,
                                         first_name='test6',
                                         last_name='test6',
                                         phone_number='66666')
        cls.without_location = bootstrap_user(username='******',
                                              domain=domain.name,
                                              first_name='test7',
                                              last_name='test7',
                                              phone_number='77777')
        try:
            XFormInstance.get(docid='test-xform')
        except ResourceNotFound:
            xform = XFormInstance(_id='test-xform')
            xform.save()

        sql_location = loc.sql_location
        sql_location.products = []
        sql_location.save()

        sql_location = loc2.sql_location
        sql_location.products = []
        sql_location.save()

        sql_location = rms2.sql_location
        sql_location.products = []
        sql_location.save()

        sql_location = cms.sql_location
        sql_location.products = []
        sql_location.save()

        config = CommtrackConfig.for_domain(domain.name)
        config.use_auto_consumption = False
        config.individual_consumption_defaults = True
        config.actions.append(
            CommtrackActionConfig(action='receipts',
                                  keyword='rec',
                                  caption='receipts'))
        config.consumption_config = ConsumptionConfig(
            use_supply_point_type_default_consumption=True,
            exclude_invalid_periods=True)
        config.save()

        set_default_consumption_for_supply_point(TEST_DOMAIN, p2.get_id,
                                                 supply_point_id, 8)
        set_default_consumption_for_supply_point(TEST_DOMAIN, p3.get_id,
                                                 supply_point_id, 5)

        set_default_consumption_for_supply_point(TEST_DOMAIN, p2.get_id,
                                                 supply_point_id2, 10)
        set_default_consumption_for_supply_point(TEST_DOMAIN, p3.get_id,
                                                 supply_point_id2, 10)
        set_default_consumption_for_supply_point(TEST_DOMAIN, p5.get_id,
                                                 supply_point_id2, 10)
Esempio n. 42
0
    def setUpClass(cls):
        super(TestReminders, cls).setUpClass()
        cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(TEST_DOMAIN)
        cls.loc1 = make_loc(code="garms", name="Test RMS", type="Regional Medical Store", domain=TEST_DOMAIN)
        cls.loc2 = make_loc(code="tf", name="Test Facility", type="Hospital", domain=TEST_DOMAIN)
        cls.region = make_loc(code="region", name="Test Region", type="region", domain=TEST_DOMAIN)

        cls.user1 = bootstrap_user(
            username="******",
            phone_number="1111",
            home_loc=cls.loc2,
            domain=TEST_DOMAIN,
            first_name="test",
            last_name="test1",
            user_data={"role": []},
        )
        cls.user2 = bootstrap_user(
            username="******",
            phone_number="2222",
            home_loc=cls.loc1,
            domain=TEST_DOMAIN,
            first_name="test",
            last_name="test2",
            user_data={"role": ["Other"], "needs_reminders": "False"},
        )

        cls.user3 = bootstrap_user(
            username="******",
            phone_number="3333",
            home_loc=cls.loc2,
            domain=TEST_DOMAIN,
            first_name="test",
            last_name="test3",
            user_data={"role": ["Nurse"], "needs_reminders": "True"},
        )

        cls.in_charge = bootstrap_user(
            username="******",
            phone_number="4444",
            home_loc=cls.loc2,
            domain=TEST_DOMAIN,
            first_name="test",
            last_name="test4",
            user_data={"role": ["In Charge"]},
        )

        cls.web_user = bootstrap_web_user(
            domain=TEST_DOMAIN,
            username="******",
            password="******",
            email="*****@*****.**",
            location=cls.loc2,
            phone_number="5555",
        )

        EWSExtension.objects.create(
            domain=TEST_DOMAIN, user_id=cls.web_user.get_id, sms_notifications=True, location_id=cls.loc2.get_id
        )

        cls.web_user2 = bootstrap_web_user(
            domain=TEST_DOMAIN,
            username="******",
            password="******",
            email="*****@*****.**",
            location=cls.region,
            phone_number="6666",
        )

        set_sms_notifications(TEST_DOMAIN, cls.web_user2, True)

        FacilityInCharge.objects.create(user_id=cls.in_charge.get_id, location=cls.loc2.sql_location)

        cls.product = Product(domain=TEST_DOMAIN, name="Test Product", code_="tp", unit="each")
        cls.product.save()

        cls.product2 = Product(domain=TEST_DOMAIN, name="Test Product2", code_="tp2", unit="each")
        cls.product2.save()

        sql_product = SQLProduct.objects.get(product_id=cls.product.get_id)
        sql_product2 = SQLProduct.objects.get(product_id=cls.product2.get_id)

        sql_location1 = cls.loc1.sql_location
        sql_location2 = cls.loc2.sql_location

        sql_location1.products = [sql_product]
        sql_location2.products = [sql_product, sql_product2]
        sql_location1.save()
        sql_location2.save()
Esempio n. 43
0
 def setUpClass(cls):
     super(EWSTestReminders, cls).setUpClass()
     cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
     cls.domain = prepare_domain(TEST_DOMAIN)
    def setUpClass(cls):
        super(TestInputStockView, cls).setUpClass()
        cls.domain = initial_bootstrap(TEST_DOMAIN)
        db = get_db()
        if db.doc_exist(DOMAIN_MODULE_KEY):
            module_config = db.open_doc(DOMAIN_MODULE_KEY)
            module_map = module_config.get('module_map')
            if module_map:
                module_map[TEST_DOMAIN] = 'custom.ewsghana'
            else:
                module_config['module_map'][TEST_DOMAIN] = 'custom.ewsghana'
        else:
            module_config = db.save_doc(
                {
                    '_id': DOMAIN_MODULE_KEY,
                    'module_map': {
                        'ewsghana-test-input-stock': 'custom.ewsghana'
                    }
                }
            )
        db.save_doc(module_config)

        cls.setup_subscription(TEST_DOMAIN, SoftwarePlanEdition.ENTERPRISE)

        test_utils.prepare_commtrack_config(TEST_DOMAIN)
        test_utils.prepare_custom_fields(TEST_DOMAIN)
        test_utils.create_or_edit_roles(TEST_DOMAIN)
        test_utils.create_test_products(TEST_DOMAIN)
        test_utils.create_test_locations(TEST_DOMAIN)

        cls.test_facility3 = SQLLocation.objects.get(domain=TEST_DOMAIN, site_code='tsactive')
        cls.testregion2 = SQLLocation.objects.get(domain=TEST_DOMAIN, site_code='testregion2')
        cls.rsp = SQLLocation.objects.get(domain=TEST_DOMAIN, site_code='rsp')
        cls.test_district = SQLLocation.objects.get(domain=TEST_DOMAIN, site_code='testdistrict')

        cls.username1 = 'ews_user1'
        cls.password1 = 'dummy'
        cls.web_user1 = WebUser.create(TEST_DOMAIN, cls.username1, cls.password1)

        cls.web_user1.eula.signed = True
        cls.web_user1.save()

        cls.username2 = 'ews_user2'
        cls.password2 = 'dummy'
        cls.web_user2 = WebUser.create(TEST_DOMAIN, cls.username2, cls.password2)
        cls.web_user2.get_domain_membership(TEST_DOMAIN).location_id = cls.test_facility3.location_id

        cls.web_user2.eula.signed = True
        cls.web_user2.save()

        cls.username3 = 'ews_user3'
        cls.password3 = 'dummy'
        cls.web_user3 = WebUser.create(TEST_DOMAIN, cls.username3, cls.password3)
        cls.web_user3.get_domain_membership(TEST_DOMAIN).location_id = cls.testregion2.location_id

        cls.web_user3.eula.signed = True
        cls.web_user3.save()

        cls.username4 = 'ews_user4'
        cls.password4 = 'dummy'
        cls.web_user4 = WebUser.create(TEST_DOMAIN, cls.username4, cls.password4)
        cls.web_user4.get_domain_membership(TEST_DOMAIN).location_id = cls.rsp.location_id

        cls.web_user4.eula.signed = True
        cls.web_user4.save()

        cls.username5 = 'ews_user5'
        cls.password5 = 'dummy'
        cls.web_user5 = WebUser.create(TEST_DOMAIN, cls.username5, cls.password5, first_name='test',
                                       last_name='test2')
        cls.web_user5.set_default_phone_number('1111')
        cls.web_user5.save()
        domain_membership = cls.web_user5.get_domain_membership(TEST_DOMAIN)
        domain_membership.location_id = cls.test_district.location_id
        domain_membership.role_id = UserRole.get_read_only_role_by_domain(cls.domain.name).get_id

        cls.web_user5.eula.signed = True
        cls.web_user5.save()

        cls.username6 = 'ews_user6'
        cls.password6 = 'dummy'
        cls.web_user6 = WebUser.create(TEST_DOMAIN, cls.username6, cls.password6)
        domain_membership = cls.web_user6.get_domain_membership(TEST_DOMAIN)
        domain_membership.role_id = UserRole.get_read_only_role_by_domain(cls.domain.name).get_id

        cls.web_user6.eula.signed = True
        cls.web_user6.save()

        cls.admin_username = '******'
        cls.admin_password = '******'
        cls.admin = WebUser.create(TEST_DOMAIN, cls.admin_username, cls.admin_password)
        domain_membership = cls.admin.get_domain_membership(TEST_DOMAIN)
        domain_membership.role_id = UserRole.by_domain_and_name(cls.domain.name, 'Administrator')[0].get_id

        cls.admin.eula.signed = True
        cls.admin.save()

        EWSExtension.objects.create(
            user_id=cls.web_user6.get_id,
            domain=TEST_DOMAIN,
            location_id=cls.test_facility3.get_id
        )

        cls.ad = SQLProduct.objects.get(domain=TEST_DOMAIN, code='ad')
        cls.al = SQLProduct.objects.get(domain=TEST_DOMAIN, code='al')

        cls.backend, cls.mapping = setup_default_sms_test_backend()
        cls.client = Client()
Esempio n. 45
0
 def setUpClass(cls):
     super(SMSNotificationTestCase, cls).setUpClass()
     cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
     cls.domain = prepare_domain(cls.TEST_DOMAIN)
Esempio n. 46
0
    def setUpClass(cls):
        cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(TEST_DOMAIN)
        cls.loc1 = make_loc(code="garms", name="Test RMS", type="Regional Medical Store", domain=TEST_DOMAIN)
        cls.loc2 = make_loc(code="tf", name="Test Facility", type="Hospital", domain=TEST_DOMAIN)
        cls.region = make_loc(code="region", name="Test Region", type="region", domain=TEST_DOMAIN)

        cls.user1 = bootstrap_user(
            username='******', phone_number='1111', home_loc=cls.loc2, domain=TEST_DOMAIN,
            first_name='test', last_name='test1',
            user_data={
                'role': []
            }
        )
        cls.user2 = bootstrap_user(
            username='******', phone_number='2222', home_loc=cls.loc1, domain=TEST_DOMAIN,
            first_name='test', last_name='test2',
            user_data={
                'role': ['Other'],
                'needs_reminders': "False"
            }
        )

        cls.user3 = bootstrap_user(
            username='******', phone_number='3333', home_loc=cls.loc2, domain=TEST_DOMAIN,
            first_name='test', last_name='test3',
            user_data={
                'role': ['Nurse'],
                'needs_reminders': "True"
            }
        )

        cls.in_charge = bootstrap_user(
            username='******', phone_number='4444', home_loc=cls.loc2, domain=TEST_DOMAIN,
            first_name='test', last_name='test4',
            user_data={
                'role': ['In Charge']
            }
        )

        cls.web_user = bootstrap_web_user(
            domain=TEST_DOMAIN,
            username='******',
            password='******',
            email='*****@*****.**',
            location=cls.loc2,
            phone_number='5555'
        )

        EWSExtension.objects.create(
            domain=TEST_DOMAIN,
            user_id=cls.web_user.get_id,
            sms_notifications=True,
            location_id=cls.loc2.get_id
        )

        cls.web_user2 = bootstrap_web_user(
            domain=TEST_DOMAIN,
            username='******',
            password='******',
            email='*****@*****.**',
            location=cls.region,
            phone_number='6666'
        )

        set_sms_notifications(TEST_DOMAIN, cls.web_user2, True)

        FacilityInCharge.objects.create(
            user_id=cls.in_charge.get_id,
            location=cls.loc2.sql_location
        )

        cls.product = Product(
            domain=TEST_DOMAIN,
            name='Test Product',
            code_='tp',
            unit='each'
        )
        cls.product.save()

        cls.product2 = Product(
            domain=TEST_DOMAIN,
            name='Test Product2',
            code_='tp2',
            unit='each'
        )
        cls.product2.save()

        sql_product = SQLProduct.objects.get(product_id=cls.product.get_id)
        sql_product2 = SQLProduct.objects.get(product_id=cls.product2.get_id)

        sql_location1 = cls.loc1.sql_location
        sql_location2 = cls.loc2.sql_location

        sql_location1.products = [sql_product]
        sql_location2.products = [sql_product, sql_product2]
        sql_location1.save()
        sql_location2.save()
Esempio n. 47
0
    def setUpClass(cls):
        cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        domain = prepare_domain(TEST_DOMAIN)

        p = Product(domain=domain.name, name="Jadelle", code="jd", unit="each")
        p.save()
        p2 = Product(domain=domain.name, name="Male Condom", code="mc", unit="each")
        p2.save()
        p3 = Product(domain=domain.name, name="Lofem", code="lf", unit="each")
        p3.save()
        p4 = Product(domain=domain.name, name="Ng", code="ng", unit="each")
        p4.save()
        p5 = Product(domain=domain.name, name="Micro-G", code="mg", unit="each")
        p5.save()

        Product(domain=domain.name, name="Ad", code="ad", unit="each").save()
        Product(domain=domain.name, name="Al", code="al", unit="each").save()
        Product(domain=domain.name, name="Qu", code="qu", unit="each").save()
        Product(domain=domain.name, name="Sp", code="sp", unit="each").save()
        Product(domain=domain.name, name="Rd", code="rd", unit="each").save()
        Product(domain=domain.name, name="Ov", code="ov", unit="each").save()
        Product(domain=domain.name, name="Ml", code="ml", unit="each").save()

        national = make_loc(code="country", name="Test national", type="country", domain=domain.name)
        region = make_loc(code="region", name="Test region", type="region", domain=domain.name, parent=national)
        loc = make_loc(
            code="garms", name="Test RMS", type="Regional Medical Store", domain=domain.name, parent=national
        )
        loc.save()

        rms2 = make_loc(
            code="wrms", name="Test RMS 2", type="Regional Medical Store", domain=domain.name, parent=region
        )
        rms2.save()

        cms = make_loc(
            code="cms", name="Central Medical Stores", type="Central Medical Store", domain=domain.name, parent=national
        )
        cms.save()

        loc2 = make_loc(code="tf", name="Test Facility", type="CHPS Facility", domain=domain.name, parent=region)
        loc2.save()

        supply_point_id = loc.linked_supply_point().get_id
        supply_point_id2 = loc2.linked_supply_point().get_id

        cls.user1 = bootstrap_user(
            username="******", first_name="test1", last_name="test1", domain=domain.name, home_loc=loc
        )
        cls.user2 = bootstrap_user(
            username="******",
            domain=domain.name,
            home_loc=loc2,
            first_name="test2",
            last_name="test2",
            phone_number="222222",
            user_data={"role": ["In Charge"]},
        )
        FacilityInCharge.objects.create(user_id=cls.user2.get_id, location=loc2.sql_location)
        cls.user3 = bootstrap_user(
            username="******",
            domain=domain.name,
            home_loc=loc2,
            first_name="test3",
            last_name="test3",
            phone_number="333333",
        )
        cls.rms_user = bootstrap_user(
            username="******",
            domain=domain.name,
            home_loc=rms2,
            first_name="test4",
            last_name="test4",
            phone_number="44444",
        )
        cls.cms_user = bootstrap_user(
            username="******",
            domain=domain.name,
            home_loc=cms,
            first_name="test5",
            last_name="test5",
            phone_number="55555",
        )
        cls.region_user = bootstrap_user(
            username="******",
            domain=domain.name,
            home_loc=region,
            first_name="test6",
            last_name="test6",
            phone_number="66666",
        )
        cls.without_location = bootstrap_user(
            username="******", domain=domain.name, first_name="test7", last_name="test7", phone_number="77777"
        )
        try:
            XFormInstance.get(docid="test-xform")
        except ResourceNotFound:
            xform = XFormInstance(_id="test-xform")
            xform.save()

        sql_location = loc.sql_location
        sql_location.products = []
        sql_location.save()

        sql_location = loc2.sql_location
        sql_location.products = []
        sql_location.save()

        sql_location = rms2.sql_location
        sql_location.products = []
        sql_location.save()

        sql_location = cms.sql_location
        sql_location.products = []
        sql_location.save()

        config = CommtrackConfig.for_domain(domain.name)
        config.use_auto_consumption = False
        config.individual_consumption_defaults = True
        config.actions.append(CommtrackActionConfig(action="receipts", keyword="rec", caption="receipts"))
        config.consumption_config = ConsumptionConfig(
            use_supply_point_type_default_consumption=True, exclude_invalid_periods=True
        )
        config.save()

        set_default_consumption_for_supply_point(TEST_DOMAIN, p2.get_id, supply_point_id, 8)
        set_default_consumption_for_supply_point(TEST_DOMAIN, p3.get_id, supply_point_id, 5)

        set_default_consumption_for_supply_point(TEST_DOMAIN, p2.get_id, supply_point_id2, 10)
        set_default_consumption_for_supply_point(TEST_DOMAIN, p3.get_id, supply_point_id2, 10)
        set_default_consumption_for_supply_point(TEST_DOMAIN, p5.get_id, supply_point_id2, 10)
Esempio n. 48
0
 def setUp(self):
     super(HandlerTest, self).setUp()
     self.backend, self.backend_mapping = setup_default_sms_test_backend()
Esempio n. 49
0
    def setUpClass(cls):
        super(TestReminders, cls).setUpClass()
        cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
        cls.domain = prepare_domain(TEST_DOMAIN)
        cls.loc1 = make_loc(code="garms", name="Test RMS", type="Regional Medical Store", domain=TEST_DOMAIN)
        cls.loc2 = make_loc(code="tf", name="Test Facility", type="Hospital", domain=TEST_DOMAIN)
        cls.region = make_loc(code="region", name="Test Region", type="region", domain=TEST_DOMAIN)

        cls.user1 = bootstrap_user(
            username='******', phone_number='1111', home_loc=cls.loc2, domain=TEST_DOMAIN,
            first_name='test', last_name='test1',
            user_data={
                'role': []
            }
        )
        cls.user2 = bootstrap_user(
            username='******', phone_number='2222', home_loc=cls.loc1, domain=TEST_DOMAIN,
            first_name='test', last_name='test2',
            user_data={
                'role': ['Other'],
                'needs_reminders': "False"
            }
        )

        cls.user3 = bootstrap_user(
            username='******', phone_number='3333', home_loc=cls.loc2, domain=TEST_DOMAIN,
            first_name='test', last_name='test3',
            user_data={
                'role': ['Nurse'],
                'needs_reminders': "True"
            }
        )

        cls.in_charge = bootstrap_user(
            username='******', phone_number='4444', home_loc=cls.loc2, domain=TEST_DOMAIN,
            first_name='test', last_name='test4',
            user_data={
                'role': ['In Charge']
            }
        )

        cls.web_user = bootstrap_web_user(
            domain=TEST_DOMAIN,
            username='******',
            password='******',
            email='*****@*****.**',
            location=cls.loc2,
            phone_number='5555'
        )

        EWSExtension.objects.create(
            domain=TEST_DOMAIN,
            user_id=cls.web_user.get_id,
            sms_notifications=True,
            location_id=cls.loc2.get_id
        )

        cls.web_user2 = bootstrap_web_user(
            domain=TEST_DOMAIN,
            username='******',
            password='******',
            email='*****@*****.**',
            location=cls.region,
            phone_number='6666'
        )

        set_sms_notifications(TEST_DOMAIN, cls.web_user2, True)

        FacilityInCharge.objects.create(
            user_id=cls.in_charge.get_id,
            location=cls.loc2.sql_location
        )

        cls.product = Product(
            domain=TEST_DOMAIN,
            name='Test Product',
            code_='tp',
            unit='each'
        )
        cls.product.save()

        cls.product2 = Product(
            domain=TEST_DOMAIN,
            name='Test Product2',
            code_='tp2',
            unit='each'
        )
        cls.product2.save()

        sql_product = SQLProduct.objects.get(product_id=cls.product.get_id)
        sql_product2 = SQLProduct.objects.get(product_id=cls.product2.get_id)

        sql_location1 = cls.loc1.sql_location
        sql_location2 = cls.loc2.sql_location

        sql_location1.products = [sql_product]
        sql_location2.products = [sql_product, sql_product2]
        sql_location1.save()
        sql_location2.save()
    def setUpClass(cls):
        cls.domain = initial_bootstrap(TEST_DOMAIN)
        db = get_db()
        if db.doc_exist(DOMAIN_MODULE_KEY):
            module_config = db.open_doc(DOMAIN_MODULE_KEY)
            module_map = module_config.get('module_map')
            if module_map:
                module_map[TEST_DOMAIN] = 'custom.ewsghana'
            else:
                module_config['module_map'][TEST_DOMAIN] = 'custom.ewsghana'
        else:
            module_config = db.save_doc(
                {
                    '_id': DOMAIN_MODULE_KEY,
                    'module_map': {
                        'ewsghana-test-input-stock': 'custom.ewsghana'
                    }
                }
            )
        db.save_doc(module_config)

        cls.setup_subscription(TEST_DOMAIN, SoftwarePlanEdition.ENTERPRISE)

        cls.endpoint = MockEndpoint('http://test-api.com/', 'dummy', 'dummy')
        cls.api_object = EWSApi(TEST_DOMAIN, cls.endpoint)
        cls.api_object.prepare_commtrack_config()
        cls.api_object.prepare_custom_fields()
        cls.api_object.create_or_edit_roles()
        cls.datapath = os.path.join(os.path.dirname(__file__), 'data')

        with open(os.path.join(cls.datapath, 'sample_products.json')) as f:
            for p in json.loads(f.read()):
                cls.api_object.product_sync(Product(p))

        create_test_locations(TEST_DOMAIN)

        cls.test_facility3 = SQLLocation.objects.get(domain=TEST_DOMAIN, site_code='tsactive')
        cls.testregion2 = SQLLocation.objects.get(domain=TEST_DOMAIN, site_code='testregion2')
        cls.rsp = SQLLocation.objects.get(domain=TEST_DOMAIN, site_code='rsp')
        cls.test_district = SQLLocation.objects.get(domain=TEST_DOMAIN, site_code='testdistrict')

        cls.username1 = 'ews_user1'
        cls.password1 = 'dummy'
        cls.web_user1 = WebUser.create(TEST_DOMAIN, cls.username1, cls.password1)

        cls.web_user1.eula.signed = True
        cls.web_user1.save()

        cls.username2 = 'ews_user2'
        cls.password2 = 'dummy'
        cls.web_user2 = WebUser.create(TEST_DOMAIN, cls.username2, cls.password2)
        cls.web_user2.get_domain_membership(TEST_DOMAIN).location_id = cls.test_facility3.location_id

        cls.web_user2.eula.signed = True
        cls.web_user2.save()

        cls.username3 = 'ews_user3'
        cls.password3 = 'dummy'
        cls.web_user3 = WebUser.create(TEST_DOMAIN, cls.username3, cls.password3)
        cls.web_user3.get_domain_membership(TEST_DOMAIN).location_id = cls.testregion2.location_id

        cls.web_user3.eula.signed = True
        cls.web_user3.save()

        cls.username4 = 'ews_user4'
        cls.password4 = 'dummy'
        cls.web_user4 = WebUser.create(TEST_DOMAIN, cls.username4, cls.password4)
        cls.web_user4.get_domain_membership(TEST_DOMAIN).location_id = cls.rsp.location_id

        cls.web_user4.eula.signed = True
        cls.web_user4.save()

        cls.username5 = 'ews_user5'
        cls.password5 = 'dummy'
        cls.web_user5 = WebUser.create(TEST_DOMAIN, cls.username5, cls.password5, first_name='test',
                                       last_name='test2')
        cls.web_user5.set_default_phone_number('1111')
        cls.web_user5.save()
        domain_membership = cls.web_user5.get_domain_membership(TEST_DOMAIN)
        domain_membership.location_id = cls.test_district.location_id
        domain_membership.role_id = UserRole.get_read_only_role_by_domain(cls.domain.name).get_id

        cls.web_user5.eula.signed = True
        cls.web_user5.save()

        cls.username6 = 'ews_user6'
        cls.password6 = 'dummy'
        cls.web_user6 = WebUser.create(TEST_DOMAIN, cls.username6, cls.password6)
        domain_membership = cls.web_user6.get_domain_membership(TEST_DOMAIN)
        domain_membership.role_id = UserRole.get_read_only_role_by_domain(cls.domain.name).get_id

        cls.web_user6.eula.signed = True
        cls.web_user6.save()

        cls.admin_username = '******'
        cls.admin_password = '******'
        cls.admin = WebUser.create(TEST_DOMAIN, cls.admin_username, cls.admin_password)
        domain_membership = cls.admin.get_domain_membership(TEST_DOMAIN)
        domain_membership.role_id = UserRole.by_domain_and_name(cls.domain.name, 'Administrator')[0].get_id

        cls.admin.eula.signed = True
        cls.admin.save()

        EWSExtension.objects.create(
            user_id=cls.web_user6.get_id,
            domain=TEST_DOMAIN,
            location_id=cls.test_facility3.get_id
        )

        cls.ad = SQLProduct.objects.get(domain=TEST_DOMAIN, code='ad')
        cls.al = SQLProduct.objects.get(domain=TEST_DOMAIN, code='al')

        cls.backend, cls.mapping = setup_default_sms_test_backend()
        cls.client = Client()
Esempio n. 51
0
 def setUpClass(cls):
     super(SMSNotificationTestCase, cls).setUpClass()
     cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
     cls.domain = prepare_domain(cls.TEST_DOMAIN)
Esempio n. 52
0
 def setUpClass(cls):
     cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
     cls.domain = prepare_domain(TEST_DOMAIN)
Esempio n. 53
0
 def setUpClass(cls):
     super(EWSTestReminders, cls).setUpClass()
     cls.backend, cls.sms_backend_mapping = setup_default_sms_test_backend()
     cls.domain = prepare_domain(TEST_DOMAIN)