def test_get_ledger_values_for_case_as_of_same_date(self): case_id = uuid.uuid4().hex form_xml = get_simple_form_xml(uuid.uuid4().hex, case_id) submit_form_locally(form_xml, domain=self.domain)[1] # submit ledger data balances = ((self.product_a._id, 100), ) ledger_blocks = [ get_single_balance_block(case_id, prod_id, balance) for prod_id, balance in balances ] submit_case_blocks(ledger_blocks, self.domain) # submit two transfers at the same time transfer_date = json_format_datetime(datetime.utcnow()) transfers = [ (self.product_a._id, 1, transfer_date), (self.product_a._id, 2, transfer_date), ] for prod_id, transfer, date in transfers: submit_case_blocks( get_single_transfer_block(case_id, None, prod_id, transfer, date), self.domain) # check results results = get_ledger_values_for_case_as_of(domain=self.domain, case_id=case_id, section_id='stock', as_of=datetime.utcnow()) self.assertEqual(1, len(results)) self.assertEqual(97, results[self.product_a._id])
def test_get_ledger_values_for_case_as_of_same_date(self): case_id = uuid.uuid4().hex form_xml = get_simple_form_xml(uuid.uuid4().hex, case_id) submit_form_locally(form_xml, domain=self.domain)[1] # submit ledger data balances = ( (self.product_a._id, 100), ) ledger_blocks = [ get_single_balance_block(case_id, prod_id, balance) for prod_id, balance in balances ] submit_case_blocks(ledger_blocks, self.domain) # submit two transfers at the same time transfer_date = json_format_datetime(datetime.utcnow()) transfers = [ (self.product_a._id, 1, transfer_date), (self.product_a._id, 2, transfer_date), ] for prod_id, transfer, date in transfers: submit_case_blocks(get_single_transfer_block(case_id, None, prod_id, transfer, date), self.domain) # check results results = get_ledger_values_for_case_as_of( domain=self.domain, case_id=case_id, section_id='stock', as_of=datetime.utcnow()) self.assertEqual(1, len(results)) self.assertEqual(97, results[self.product_a._id])
def test_blank_case_id_in_transfer(self): instance_id = submit_case_blocks( case_blocks=get_single_transfer_block(src_id="", dest_id="", product_id=self.products[0]._id, quantity=100), domain=self.domain.name, ) instance = XFormInstance.get(instance_id) self.assertEqual("XFormError", instance.doc_type) self.assertTrue("IllegalCaseId" in instance.problem)
def _receipt_report(domain, case_id, product_id, amount, days_ago): from corehq.apps.commtrack.tests.util import get_single_transfer_block from dimagi.utils.parsing import json_format_date from corehq.apps.hqcase.utils import submit_case_blocks date_string = json_format_date(ago(days_ago)) stock_block = get_single_transfer_block( src_id=None, dest_id=case_id, product_id=product_id, quantity=amount, date_string=date_string ) submit_case_blocks(stock_block, domain=domain)
def _receipt_report(domain, case_id, product_id, amount, days_ago): from corehq.apps.commtrack.tests.util import get_single_transfer_block from dimagi.utils.parsing import json_format_date from corehq.apps.hqcase.utils import submit_case_blocks date_string = json_format_date(ago(days_ago)) stock_block = get_single_transfer_block( src_id=None, dest_id=case_id, product_id=product_id, quantity=amount, date_string=date_string ) submit_case_blocks(stock_block, domain=domain)
def test_blank_case_id_in_transfer(self): form = submit_case_blocks( case_blocks=get_single_transfer_block( src_id='', dest_id='', product_id=self.products[0]._id, quantity=100, ), domain=self.domain.name, ) instance = FormAccessors(self.domain.name).get_form(form.form_id) self.assertTrue(instance.is_error) self.assertTrue('IllegalCaseId' in instance.problem)
def test_blank_case_id_in_transfer(self): form = submit_case_blocks( case_blocks=util.get_single_transfer_block( src_id='', dest_id='', product_id=self.products[0]._id, quantity=100, ), domain=self.domain.name, )[0] instance = FormAccessors(self.domain.name).get_form(form.form_id) self.assertTrue(instance.is_error) self.assertTrue('IllegalCaseId' in instance.problem)
def test_blank_case_id_in_transfer(self): form = submit_case_blocks( case_blocks=util.get_single_transfer_block( src_id='', dest_id='', product_id=self.products[0]._id, quantity=100, ), domain=self.domain.name, )[0] self.addCleanup(self.delete_ledger_transactions, form.form_id) instance = XFormInstance.objects.get_form(form.form_id, self.domain.name) self.assertTrue(instance.is_error) self.assertTrue('IllegalCaseId' in instance.problem)
def _transfer_out(self, amount): from corehq.apps.commtrack.tests.util import get_single_transfer_block self._submit_ledgers([ get_single_transfer_block(self.case.case_id, None, self.product_a._id, amount) ])