示例#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)
示例#4
0
    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)
示例#5
0
    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)
示例#6
0
    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)