def setUp(self): # might as well clean house before doing anything delete_all_xforms() delete_all_cases() self.backend = test.bootstrap(TEST_BACKEND, to_console=True) self.domain = bootstrap_domain(requisitions_enabled=self.requisitions_enabled) self.loc = make_loc('loc1') self.reporters = dict((k, bootstrap_user(self, **v)) for k, v in REPORTING_USERS.iteritems()) # backwards compatibility self.user = self.reporters['roaming'] # bootstrap additional users for requisitions self.approver = bootstrap_user(self, **APPROVER_USER) self.packer = bootstrap_user(self, **PACKER_USER) self.users = self.reporters.values() + [self.approver, self.packer] # 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.save() self.sp = make_supply_point(self.domain.name, self.loc, owner_id=self.group._id) self.products = Product.by_domain(self.domain.name) self.assertEqual(3, len(self.products)) self.spps = {} for p in self.products: self.spps[p.code] = make_supply_point_product(self.sp, p._id) self.assertEqual(self.spps[p.code].owner_id, self.group._id)
def setUp(self): # might as well clean house before doing anything delete_all_xforms() delete_all_cases() self.backend = test.bootstrap(TEST_BACKEND, to_console=True) self.domain = bootstrap_domain(requisitions_enabled=self.requisitions_enabled) self.user = bootstrap_user(**MAIN_USER) self.verified_number = self.user.get_verified_number() # bootstrap additional users for requisitions self.approver = bootstrap_user(**APPROVER_USER) self.packer = bootstrap_user(**PACKER_USER) self.users = [self.user, self.approver, self.packer] # 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.save() self.loc = make_loc('loc1') self.sp = make_supply_point(self.domain.name, self.loc, owner_id=self.group._id) self.products = Product.by_domain(self.domain.name) self.assertEqual(3, len(self.products)) self.spps = {} for p in self.products: self.spps[p.code] = make_supply_point_product(self.sp, p._id) self.assertEqual(self.spps[p.code].owner_id, self.group._id)
def setUp(self): self.backend = test.bootstrap(TEST_BACKEND, to_console=True) self.domain = bootstrap_domain() self.user = bootstrap_user() self.verified_number = self.user.get_verified_number() self.loc = make_loc('loc1') self.sp = make_supply_point(self.domain.name, self.loc) self.products = Product.by_domain(self.domain.name) self.assertEqual(3, len(self.products)) self.spps = {} for p in self.products: self.spps[p.code] = make_supply_point_product(self.sp, p._id)
def setUp(self): super(SignalsTest, self).setUp() self.datapath = os.path.join(os.path.dirname(__file__), 'data') self.spps.clear() self.createProgram() self.createProducts() openlmis_config = OpenLMISConfig() openlmis_config.enabled = True commtrack_config = CommtrackConfig.get(self.domain.commtrack_settings._id) commtrack_config.openlmis_config = openlmis_config commtrack_config.save() for p in self.products: self.spps[p.code] = make_supply_point_product(self.sp, p._id)
def setUpClass(cls): cls.domain = create_domain(TEST_DOMAIN) cls.couch_user = WebUser.create(None, "report_test", "foobar") cls.couch_user.add_domain_membership(TEST_DOMAIN, is_admin=True) cls.couch_user.save() cls.products = { 'pA': make_product(TEST_DOMAIN, 'prod A', 'pA'), 'pB': make_product(TEST_DOMAIN, 'prod B', 'pB') } test_setup = { 'A': { 'A-a': { 'A-a-1': {'pA': 4, 'pB': 0}, 'A-a-2': {'pB': 3}, }, 'A-b': { 'A-b-1': {'pA': 2} } }, 'B': { 'B-a': { 'B-a-1': {'pA': 1, 'pB': 1} } } } cls.sites = {} cls.regions = {} cls.districts = {} for region_name, districts in test_setup.items(): region = make_loc(region_name, type='region') cls.regions[region_name] = region for district_name, sites in districts.items(): district = make_loc(district_name, type='district', parent=region) cls.districts[district_name] = district for site_name, products in sites.items(): site = make_loc(site_name, type='site', parent=district) cls.sites[site_name] = (site, products) supply_point = make_supply_point(TEST_DOMAIN, site) for p_code, stock in products.items(): prod = cls.products[p_code] spp = make_supply_point_product(supply_point, prod._id) update_supply_point_product_stock_level(spp, stock)
def testMakeSupplyPointProduct(self): spp = make_supply_point_product(self.sp, self.product._id) self.assertEqual("CommCareCase", spp.doc_type) self.assertEqual(TEST_DOMAIN, spp.domain) self.assertEqual(const.SUPPLY_POINT_PRODUCT_CASE_TYPE, spp.type) self.assertEqual(self.product._id, spp.product) self.assertEqual(self.sp.location_, spp.location_) self.assertEqual(get_commtrack_user_id(TEST_DOMAIN), spp.user_id) self.assertEqual(None, spp.owner_id) self.assertFalse(spp.closed) self.assertTrue(len(spp.actions) > 0) [parent_ref] = spp.indices self.assertEqual(const.PARENT_CASE_REF, parent_ref.identifier) self.assertEqual(const.SUPPLY_POINT_CASE_TYPE, parent_ref.referenced_type) self.assertEqual(self.sp._id, parent_ref.referenced_id) for dateprop in ('opened_on', 'modified_on', 'server_modified_on'): self.assertTrue(getattr(spp, dateprop) is not None) self.assertTrue(isinstance(getattr(spp, dateprop), datetime))
def testMakeSupplyPointProduct(self): spp = make_supply_point_product(self.sp, self.product._id) self.assertEqual("CommCareCase", spp.doc_type) self.assertEqual(TEST_DOMAIN, spp.domain) self.assertEqual(const.SUPPLY_POINT_PRODUCT_CASE_TYPE, spp.type) self.assertEqual(self.product.name, spp.name) self.assertEqual(self.product._id, spp.product) self.assertEqual(self.product._id, spp.get_product()._id) self.assertEqual(self.sp.location_, spp.location_) self.assertEqual(get_commtrack_user_id(TEST_DOMAIN), spp.user_id) self.assertEqual(self.sp.owner_id, spp.owner_id) self.assertFalse(spp.closed) self.assertTrue(len(spp.actions) > 0) [parent_ref] = spp.indices self.assertEqual(const.PARENT_CASE_REF, parent_ref.identifier) self.assertEqual(const.SUPPLY_POINT_CASE_TYPE, parent_ref.referenced_type) self.assertEqual(self.sp._id, parent_ref.referenced_id) self.assertEqual(self.sp._id, spp.get_supply_point_case()._id) for dateprop in ('opened_on', 'modified_on', 'server_modified_on'): self.assertTrue(getattr(spp, dateprop) is not None) self.assertTrue(isinstance(getattr(spp, dateprop), datetime))