Esempio n. 1
0
    def test_inv(self):
        with self.sessionmanager:
            init_prod_cant = self.prod_api.get_producto('1', bodega_id=1).cantidad

            client = Client()
            client.codigo = '123'

            t = InvMetadata(
                client=client,
                codigo='123',
                user='******',
                total=123,
                subtotal=123,
                tax=123,
                discount=0,
                bodega_id=1,
                almacen_id=1
            )
            inv = Invoice()
            inv.meta = t
            inv.items = [
                Item(self.prod_api.get_producto('1'), 5)
            ]
            invoice = self.inv_api.save(inv)
            self.assertEquals(self.inv_api.get_doc(invoice.meta.uid).meta.codigo, '123')

            x = self.inv_api.commit(invoice)
            self.assertEquals(Status.COMITTED, x.meta.status)
            new_inv = self.prod_api.get_producto('1', bodega_id=1).cantidad
            self.assertEquals(-5, new_inv - init_prod_cant)

            x = self.inv_api.delete(invoice)
            self.assertEquals(Status.DELETED, x.meta.status)
            new_inv = self.prod_api.get_producto('1', bodega_id=1).cantidad
            self.assertEquals(0, new_inv - init_prod_cant)

            today = datetime.datetime.now()
            yesterday = today - datetime.timedelta(days=1)
            searched = list(self.inv_api.search_metadata_by_date_range(start=yesterday, end=today))
            print searched
            self.assertEquals(1, len(searched))