예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
    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)