def create_transactions(self, domain=None): report = StockReport.objects.create(form_id=uuid.uuid4().hex, date=ago(2), server_date=datetime.utcnow(), type=const.REPORT_TYPE_BALANCE, domain=domain) txn = StockTransaction( report=report, section_id=const.SECTION_TYPE_STOCK, type=const.TRANSACTION_TYPE_STOCKONHAND, case_id=self.case_id, product_id=self.product_id, stock_on_hand=Decimal(10), ) txn.save() report2 = StockReport.objects.create(form_id=uuid.uuid4().hex, date=ago(1), server_date=datetime.utcnow(), type=const.REPORT_TYPE_BALANCE, domain=domain) txn2 = StockTransaction( report=report2, section_id=const.SECTION_TYPE_STOCK, type=const.TRANSACTION_TYPE_STOCKONHAND, case_id=self.case_id, product_id=self.product_id, stock_on_hand=Decimal(30), ) txn2.save()
def _test_subtype(self, initial, final): case_id = uuid.uuid4().hex CommCareCase( _id=case_id, domain='fakedomain', ).save() product_id = uuid.uuid4().hex SQLProduct(product_id=product_id, domain='fakedomain').save() report = StockReport.objects.create(form_id=uuid.uuid4().hex, date=ago(1), server_date=datetime.utcnow(), type=const.REPORT_TYPE_BALANCE) txn = StockTransaction( report=report, section_id=const.SECTION_TYPE_STOCK, type=const.TRANSACTION_TYPE_STOCKONHAND, subtype=initial, case_id=case_id, product_id=product_id, stock_on_hand=Decimal(10), ) txn.save() saved = StockTransaction.objects.get(id=txn.id) self.assertEqual(final, saved.subtype)
def _tx_new(type_, delta, updated_balance, age): return LedgerTransaction( type=type_, delta=delta, updated_balance=updated_balance, report_date=ago(age) )
def _test_subtype(self, initial, final): case_id = uuid.uuid4().hex CommCareCase( _id=case_id, domain='fakedomain', ).save() product_id = uuid.uuid4().hex SQLProduct(product_id=product_id, domain='fakedomain').save() report = StockReport.objects.create( form_id=uuid.uuid4().hex, date=ago(1), server_date=datetime.utcnow(), type=const.REPORT_TYPE_BALANCE ) txn = StockTransaction( report=report, section_id=const.SECTION_TYPE_STOCK, type=const.TRANSACTION_TYPE_STOCKONHAND, subtype=initial, case_id=case_id, product_id=product_id, stock_on_hand=Decimal(10), ) txn.save() saved = StockTransaction.objects.get(id=txn.id) self.assertEqual(final, saved.subtype)
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(case_id, product_id, amount, days_ago): report = StockReport.objects.create(form_id=uuid.uuid4().hex, date=ago(days_ago), type=const.REPORT_TYPE_TRANSFER) txn = StockTransaction( report=report, section_id=const.SECTION_TYPE_STOCK, type=const.TRANSACTION_TYPE_RECEIPTS, case_id=case_id, product_id=product_id, quantity=amount, ) previous_transaction = txn.get_previous_transaction() txn.stock_on_hand = (previous_transaction.stock_on_hand if previous_transaction else 0) + txn.quantity txn.save()
def _stock_report(case_id, product_id, amount, days_ago): report = StockReport.objects.create(form_id=uuid.uuid4().hex, date=ago(days_ago), type=const.REPORT_TYPE_BALANCE) txn = StockTransaction( report=report, section_id=const.SECTION_TYPE_STOCK, type=const.TRANSACTION_TYPE_STOCKONHAND, case_id=case_id, product_id=product_id, stock_on_hand=Decimal(amount), ) txn._test_config = ConsumptionConfiguration.test_config() txn.quantity = 0 txn.save()
def create_transactions(self, domain=None): report = StockReport.objects.create( form_id=uuid.uuid4().hex, date=ago(2), server_date=datetime.utcnow(), type=const.REPORT_TYPE_BALANCE, domain=domain ) txn = StockTransaction( report=report, section_id=const.SECTION_TYPE_STOCK, type=const.TRANSACTION_TYPE_STOCKONHAND, case_id=self.case_id, product_id=self.product_id, stock_on_hand=Decimal(10), ) txn.save() report2 = StockReport.objects.create( form_id=uuid.uuid4().hex, date=ago(1), server_date=datetime.utcnow(), type=const.REPORT_TYPE_BALANCE, domain=domain ) txn2 = StockTransaction( report=report2, section_id=const.SECTION_TYPE_STOCK, type=const.TRANSACTION_TYPE_STOCKONHAND, case_id=self.case_id, product_id=self.product_id, stock_on_hand=Decimal(30), ) txn2.save()