def test_trans(self): inv = InventoryMovement() inv.from_inv_id = 1 inv.to_inv_id = 2 inv.quantity = Decimal(1) inv.itemgroup_id = 1 inv.prod_id = 'AAAA' inv.timestamp = datetime(2016, 1, 1) inv.type = InvMovementType.SALE self.api.save(inv) trans = list(self.api.list_transactions( 1, inv.timestamp.date(), inv.timestamp.date())) self.assertEquals(1, len(trans)) self.assertDictEqual( json.loads(json_dumps(inv)), json.loads(json_dumps(trans[0])) ) current_quantities = self.api.get_current_quantity(1) self.api.take_snapshot_to_date(inv.itemgroup_id, inv.timestamp.date()) self.assertDictEqual( current_quantities, self.api.get_current_quantity(1)) inv.timestamp = datetime(2016, 1, 2) self.api.save(inv) self.assertDictEqual({1: Decimal(-2), 2: Decimal(2)}, self.api.get_current_quantity(1))
def make_inv_movement(itemgroupcant): inv = InventoryMovement() inv.from_inv_id = invmo.meta.origin inv.to_inv_id = invmo.meta.dest inv.quantity = itemgroupcant.cant inv.prod_id = itemgroupcant.itemgroup.prod_id inv.itemgroup_id = itemgroupcant.itemgroup.uid inv.timestamp = invmo.meta.timestamp inv.type = invmo.meta.trans_type inv.reference_id = invmo.meta.uid return inv