def test_update_taxes(self): tax_template = ProductTaxTemplate( store=self.store, tax_type=ProductTaxTemplate.TYPE_ICMS) icms_template = ProductIcmsTemplate(store=self.store, product_tax_template=tax_template) icms_template.csosn = 201 tax_template = ProductTaxTemplate(store=self.store, tax_type=ProductTaxTemplate.TYPE_IPI) ipi_template = ProductIpiTemplate(store=self.store, product_tax_template=tax_template) ipi_template.cst = 00 product = self.create_product() product.icms_template = icms_template product.ipi_template = ipi_template decrease_item = self.create_stock_decrease_item( sellable=product.sellable, cost=100, quantity=1) with mock.patch( 'stoqlib.lib.pluginmanager.PluginManager.is_active') as patch: patch.return_value = True editor = StockDecreaseItemEditor(self.store, decrease_item) slave = editor.item_slave icms_slave = editor.icms_slave ipi_slave = editor.ipi_slave self.assertEquals(icms_slave.v_bc_st.read(), 100) self.assertEquals(ipi_slave.v_bc.read(), 100) slave.cost.update(150) self.assertEquals(icms_slave.v_bc_st.read(), 150) self.assertEquals(ipi_slave.v_bc.read(), 150) slave.quantity.update(2) self.assertEquals(icms_slave.v_bc_st.read(), 300) self.assertEquals(ipi_slave.v_bc.read(), 300)
def test_update_taxes(self): tax_template = ProductTaxTemplate(store=self.store, tax_type=ProductTaxTemplate.TYPE_ICMS) icms_template = ProductIcmsTemplate(store=self.store, product_tax_template=tax_template) icms_template.csosn = 201 tax_template = ProductTaxTemplate(store=self.store, tax_type=ProductTaxTemplate.TYPE_IPI) ipi_template = ProductIpiTemplate(store=self.store, product_tax_template=tax_template) ipi_template.cst = 00 product = self.create_product() product.icms_template = icms_template product.ipi_template = ipi_template transfer_item = self.create_transfer_order_item(sellable=product.sellable, stock_cost=100, quantity=1) with mock.patch('stoqlib.lib.pluginmanager.PluginManager.is_active') as patch: patch.return_value = True editor = TransferItemEditor(self.store, transfer_item) slave = editor.item_slave icms_slave = editor.icms_slave ipi_slave = editor.ipi_slave self.assertEquals(icms_slave.v_bc_st.read(), 100) self.assertEquals(ipi_slave.v_bc.read(), 100) slave.stock_cost.update(150) self.assertEquals(icms_slave.v_bc_st.read(), 150) self.assertEquals(ipi_slave.v_bc.read(), 150) slave.quantity.update(2) self.assertEquals(icms_slave.v_bc_st.read(), 300) self.assertEquals(ipi_slave.v_bc.read(), 300)
def test_update_taxes(self): tax_template = ProductTaxTemplate( store=self.store, tax_type=ProductTaxTemplate.TYPE_ICMS) icms_template = ProductIcmsTemplate(store=self.store, product_tax_template=tax_template) icms_template.csosn = 201 tax_template = ProductTaxTemplate(store=self.store, tax_type=ProductTaxTemplate.TYPE_IPI) ipi_template = ProductIpiTemplate(store=self.store, product_tax_template=tax_template) ipi_template.cst = 00 tax_template = self.create_product_tax_template( tax_type=ProductTaxTemplate.TYPE_PIS) pis_template = self.create_product_pis_template(cst=49) self.assertEqual(pis_template.cst, 49) tax_template = self.create_product_tax_template( tax_type=ProductTaxTemplate.TYPE_COFINS) cofins_template = self.create_product_cofins_template(cst=49) self.assertEqual(cofins_template.cst, 49) product = self.create_product() product.set_icms_template(icms_template) product.set_ipi_template(ipi_template) product.set_pis_template(pis_template) product.set_cofins_template(cofins_template) transfer_item = self.create_transfer_order_item( sellable=product.sellable, stock_cost=100, quantity=1) with mock.patch( 'stoqlib.lib.pluginmanager.PluginManager.is_active') as patch: patch.return_value = True editor = TransferItemEditor(self.store, transfer_item) slave = editor.item_slave icms_slave = editor.icms_slave ipi_slave = editor.ipi_slave self.assertEqual(icms_slave.v_bc_st.read(), 100) self.assertEqual(ipi_slave.v_bc.read(), 100) slave.stock_cost.update(150) self.assertEqual(icms_slave.v_bc_st.read(), 150) self.assertEqual(ipi_slave.v_bc.read(), 150) slave.quantity.update(2) self.assertEqual(icms_slave.v_bc_st.read(), 300) self.assertEqual(ipi_slave.v_bc.read(), 300)
def test_set_item_tax(self): icms_template = self.create_product_icms_template() tax_template = ProductTaxTemplate( store=self.store, tax_type=ProductTaxTemplate.TYPE_IPI) ipi_template = ProductIpiTemplate( store=self.store, product_tax_template=tax_template) product = self.create_product() product.icms_template = icms_template product.ipi_template = ipi_template sale_item = self.create_sale_item() sale_item.sellable.product = product sale_item.icms_info.set_item_tax(sale_item) sale_item.ipi_info.set_item_tax(sale_item)
def test_nfe_data(self): # FIXME: Improve this test after fix the properties, icms_info and ipi_info. loan = self.create_loan() product = self.create_product() icms_tax_template = ProductTaxTemplate( store=self.store, tax_type=ProductTaxTemplate.TYPE_ICMS) icms_template = ProductIcmsTemplate( store=self.store, product_tax_template=icms_tax_template) ipi_tax_template = ProductTaxTemplate( store=self.store, tax_type=ProductTaxTemplate.TYPE_IPI) ipi_template = ProductIpiTemplate( store=self.store, product_tax_template=ipi_tax_template) product.icms_template = icms_template product.ipi_template = ipi_template loan_item = loan.add_sellable(product.sellable) self.assertEquals(loan_item.icms_info, None) self.assertEquals(loan_item.ipi_info, None)
def test_nfe_data(self): loan = self.create_loan() product = self.create_product() icms_tax_template = ProductTaxTemplate( store=self.store, tax_type=ProductTaxTemplate.TYPE_ICMS) icms_template = ProductIcmsTemplate( store=self.store, product_tax_template=icms_tax_template) ipi_tax_template = ProductTaxTemplate( store=self.store, tax_type=ProductTaxTemplate.TYPE_IPI) ipi_template = ProductIpiTemplate( store=self.store, product_tax_template=ipi_tax_template) pis_tax_template = ProductTaxTemplate( store=self.store, tax_type=ProductTaxTemplate.TYPE_PIS) pis_template = ProductPisTemplate( store=self.store, product_tax_template=pis_tax_template) cofins_tax_template = ProductTaxTemplate( store=self.store, tax_type=ProductTaxTemplate.TYPE_COFINS) cofins_template = ProductCofinsTemplate( store=self.store, product_tax_template=cofins_tax_template) product.icms_template = icms_template product.ipi_template = ipi_template product.pis_template = pis_template product.cofins_template = cofins_template loan_item = loan.add_sellable(product.sellable) self.assertIsNotNone(loan_item.icms_info) self.assertIsNotNone(loan_item.ipi_info) self.assertIsNotNone(loan_item.pis_info) self.assertIsNotNone(loan_item.cofins_info) self.assertEquals(loan_item.item_discount, 0) loan_item.price -= 2 self.assertEquals(loan_item.item_discount, 2)