def test_parse_product_json(self): with open(os.path.join(self.datapath, 'sample_products.json')) as f: ilsgateway_program = Product(json.loads(f.read())[0]) self.assertEqual(ilsgateway_program.name, "Condoms") self.assertEqual(ilsgateway_program.units, "each") self.assertEqual(ilsgateway_program.sms_code, "cond") self.assertEqual(ilsgateway_program.description, "Condoms") self.assertEqual(ilsgateway_program.is_active, True)
def test_parse_product_json(self): with open(os.path.join(self.datapath, 'sample_products.json')) as f: product = Product(json.loads(f.read())[0]) self.assertEqual(product.name, "Abacavir 300mg") self.assertEqual(product.units, "Tablet") self.assertEqual(product.sms_code, "abc") self.assertEqual(product.description, "Abacavir 300mg") self.assertEqual(product.is_active, True)
def testParseProductJSON(self): with open(os.path.join(self.datapath, 'sample_product.json')) as f: ilsgateway_program = Product.from_json(json.loads(f.read())) self.assertEqual(ilsgateway_program.name, "Condoms") self.assertEqual(ilsgateway_program.units, "each") self.assertEqual(ilsgateway_program.sms_code, "cond") self.assertEqual(ilsgateway_program.description, "Condoms") self.assertEqual(ilsgateway_program.is_active, True)
def test_create_product(self): with open(os.path.join(self.datapath, 'sample_product.json')) as f: product = Product.from_json(json.loads(f.read())) self.assertEqual(0, len(Prod.by_domain(TEST_DOMAIN))) ilsgateway_product = sync_ilsgateway_product(TEST_DOMAIN, product) self.assertEqual(product.sms_code, ilsgateway_product.code.lower()) self.assertEqual(product.name, ilsgateway_product.name) self.assertEqual(product.description, ilsgateway_product.description) self.assertEqual(product.units, str(ilsgateway_product.unit))
def test_create_product(self): with open(os.path.join(self.datapath, 'sample_products.json')) as f: product = Product(json.loads(f.read())[0]) self.assertEqual(0, len(Prod.by_domain(TEST_DOMAIN))) ilsgateway_product = self.api_object.product_sync(product) self.assertEqual(product.sms_code, ilsgateway_product.code.lower()) self.assertEqual(product.name, ilsgateway_product.name) self.assertEqual(product.description, ilsgateway_product.description) self.assertEqual(product.units, str(ilsgateway_product.unit))
def setUp(self): self.endpoint = MockEndpoint('http://test-api.com/', 'dummy', 'dummy') self.stock_api_object = MockILSStockDataSynchronization( TEST_DOMAIN, self.endpoint) self.datapath = os.path.join(os.path.dirname(__file__), 'data') initial_bootstrap(TEST_DOMAIN) self.api_object = ILSGatewayAPI(TEST_DOMAIN, self.endpoint) self.api_object.prepare_commtrack_config() config = ILSGatewayConfig() config.domain = TEST_DOMAIN config.enabled = True config.all_stock_data = True config.password = '******' config.username = '******' config.url = 'http://test-api.com/' config.save() l1 = Location(name='Test location 1', external_id='3445', location_type='FACILITY', domain=TEST_DOMAIN) l2 = Location(name='Test location 2', external_id='4407', location_type='FACILITY', domain=TEST_DOMAIN) l1.save() l2.save() SupplyPointCase.create_from_location(TEST_DOMAIN, l1) SupplyPointCase.create_from_location(TEST_DOMAIN, l2) with open(os.path.join(self.datapath, 'sample_products.json')) as f: for product_json in json.loads(f.read()): self.api_object.product_sync(Product(product_json)) StockTransaction.objects.all().delete()