Exemple #1
0
    def test_create_invoice(self):
        sale = Sale()
        sale.timestamp = datetime.datetime(2015, 1, 1, 0, 0, 0)
        sale.client_id = 'NA'
        sale.seller_codename = 'boya'
        sale.seller_ruc = '123'
        sale.seller_inv_uid = 1
        sale.invoice_code = '123'
        sale.pretax_amount_usd = Decimal('123')
        sale.tax_usd = Decimal('123')
        sale.status = Status.NEW
        sale.user_id = 'yu'
        sale.payment_format = PaymentFormat.CASH

        result = self.test_app.post('/import/client_sale', params=json_dumps(sale))
        self.assertEquals(200, result.status_code)

        sales = list(self.dbapi.search(Sale))
        self.assertEquals(1, len(sales))
        self.assertEquals(sale.timestamp, sales[0].timestamp)
        self.assertEquals(Status.NEW, sales[0].status)

        result = self.test_app.delete('/import/client_sale', params=json_dumps(sale))
        self.assertEquals(200, result.status_code)
        self.assertEquals(1, result.json['deleted'])
        sales = list(self.dbapi.search(Sale))
        self.assertEquals(1, len(sales))
        self.assertEquals(sale.timestamp, sales[0].timestamp)
        self.assertEquals(Status.DELETED, sales[0].status)
Exemple #2
0
 def invmeta_to_sale(self, meta):
     sale = Sale()
     sale.timestamp = meta.timestamp
     sale.client_id = meta.client.codigo
     sale.seller_ruc = meta.almacen_ruc
     sale.seller_inv_uid = meta.uid
     sale.invoice_code = meta.codigo
     sale.pretax_amount_usd = Decimal(meta.subtotal - (meta.discount or 0)) / 100
     sale.tax_usd = Decimal(meta.tax or 0) / 100
     sale.status = Status.NEW
     sale.user_id = meta.user
     sale.payment_format = meta.payment_format
     sale.seller_codename = self.codename
     if getattr(meta, 'almacen_id', None):
         meta.payment_format = 'None'
     return sale