[IMP] account: test case for bug #452854
authorNumerigraphe - Lionel Sausin <ls@numerigraphe.fr>
Mon, 1 Feb 2010 16:59:21 +0000 (17:59 +0100)
committerNumerigraphe - Lionel Sausin <ls@numerigraphe.fr>
Mon, 1 Feb 2010 16:59:21 +0000 (17:59 +0100)
bzr revid: ls@numerigraphe.fr-20100201165921-zdgmp7nlhpu40ijz

addons/account/__terp__.py
addons/account/demo/account_minimal.xml
addons/account/test/invoice_bug452854_test.xml [new file with mode: 0644]

index 352a752..ce6ca72 100644 (file)
@@ -68,6 +68,7 @@
         'project/analytic_account_demo.xml',
         'demo/account_minimal.xml',
         'test/invoice_basic_test.xml',
+        'test/invoice_bug452854_test.xml',
     ],
     'installable': True,
     'active': False,
index 8ab449a..be022ac 100644 (file)
@@ -135,6 +135,32 @@ do black box testing on entries on this chart of account, without modifying
 your own chart of account.
 </field>
         </record>
+        <record id="a_taxes" model="account.account">
+            <field name="name">Taxes</field>
+            <field name="code">x 445000</field>
+            <field name="type">other</field>
+            <field name="user_type" ref="account.account_type_income"/>
+            <field eval="ref('minimal_0')" name="parent_id"/>
+            <field name="user_type" ref="account_type_income"/>
+            <field name="company_id" ref="base.main_company"/>
+            <field name="note">
+This chart of account is used for automated testing purpose. It is installed
+only if you selected demo data during your database creation. Modules can
+do black box testing on entries on this chart of account, without modifying
+your own chart of account.
+</field>
+        </record>
+        <!--
+        Tax
+        -->
+        <record model="account.tax" id="t_vat">
+            <field name="name">x VAT</field>
+            <field name="amount" eval="0.196"/>
+            <field name="type">percent</field>
+            <field name="account_paid_id" ref="a_taxes"/>
+            <field name="account_collected_id" ref="a_taxes"/>
+            <field name="ref_tax_sign" eval="-1"/>
+        </record>
 
         <!-- Properties -->
         <record forcecreate="True" id="property_account_receivable" model="ir.property">
diff --git a/addons/account/test/invoice_bug452854_test.xml b/addons/account/test/invoice_bug452854_test.xml
new file mode 100644 (file)
index 0000000..ac25aec
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data noupdate="1">
+        <!-- 
+            Illustrate one aspect of bug #452854:
+            Cannot validate invoices with foreign currency or price_accuracy=3
+        -->
+        <!-- This file must be loaded  _after_  account_demo.xml ! -->
+        <record id="invoice_bug452854" model="account.invoice">
+            <field name="currency_id" ref="base.EUR" />
+            <field name="company_id" ref="base.main_company" />
+            <field name="address_invoice_id" ref="base.res_partner_address_tang" />
+            <field name="partner_id" ref="base.res_partner_asus" />
+            <field name="journal_id" ref="account.sales_journal" />
+            <field name="state">draft</field>
+            <field name="type">out_invoice</field>
+            <field name="account_id" ref="account.a_recv" />
+            <field name="name">lp:452854</field>
+            <field name="address_contact_id" ref="base.res_partner_address_tang" />
+        </record>
+        <record id="invoice_bug452854_line_1" model="account.invoice.line">
+            <field name="name">Dummy product</field>
+            <field name="invoice_id" ref="invoice_bug452854" />
+            <field name="price_unit" eval="1000.0/3" />
+            <field name="quantity">1</field>
+            <field name="account_id" ref="account.a_sale" />
+            <field eval="[(6,0,[ref('account.t_vat')])]" name="invoice_line_tax_id" />
+        </record>
+        <workflow action="invoice_open" model="account.invoice" ref="invoice_bug452854" />
+        <assert id="invoice_bug452854" model="account.invoice" severity="error" string="Invoice lp:452854 validated correctly">
+            <test expr="state">open</test>
+        </assert>
+    </data>
+</openerp>