fixed bug:308803
[odoo/odoo.git] / addons / purchase / purchase_unit_test.xml
index 4a2a2a5..ef4ade4 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0"?>
-<terp>
-       <data>
-               <!-- Resource: purchase.order -->
-               <!--
+<openerp>
+    <data>
+        <!-- Resource: purchase.order -->
+        <!--
                Optional fields:
                'name': fields.char('Order Description', size=64, required=True, select=True),
                'origin': fields.char('Origin', size=64),
                'order_line': fields.one2many('purchase.order.line', 'order_id', 'Order State', states={'confirmed':[('readonly',True)], 'approved':[('readonly',True)]}),
                'invoice_id': fields.many2one('account.invoice', 'Invoice', readonly=True),
                -->
-               <record model="purchase.order" id="test_purchase_1">
-                       <field name="name">Test purchase</field>
-                       <field name="dest_address_id" search="[]" model="res.partner.address"/>
-                       <field name="pricelist_id" ref="list0"/>
-                       <field name="partner_id" search="[]" model="res.partner"/>
-                       <field name="partner_address_id" search="[]" model="res.partner.address"/>
-                       <field name="location_id" search="[]" model="stock.location"/>
-               </record>
-               <!-- Resource: purchase.order.line -->
-               <!--
+        <record model="purchase.order" id="test_purchase_1">
+            <field name="name">Test purchase</field>
+            <field name="dest_address_id" search="[]" model="res.partner.address"/>
+            <field name="pricelist_id" ref="list0"/>
+            <field name="partner_id" search="[]" model="res.partner"/>
+            <field name="partner_address_id" search="[]" model="res.partner.address"/>
+            <field name="location_id" search="[]" model="stock.location"/>
+        </record>
+        <!-- Resource: purchase.order.line -->
+        <!--
                Optinal fields:
                'name': fields.char('Description', size=64, required=True),
                'product_qty': fields.float('Quantity', required=True, digits=(16,2)),
                'price_unit': fields.float('Unit Price', required=True, digits=(16, int(config['price_accuracy']))),
                'order_id': fields.many2one('purchase.order', 'Order Ref', select=True, required=True, ondelete='cascade'),
                -->
-               <record model="purchase.order.line" id="test_purchase_1_line_1">
-                       <field name="order_id" ref="test_purchase_1"/>
-                       <field name="name">[PC1] Basic PC</field>
-                       <field name="date_planned" eval="time.strftime('%Y-%m-%d', time.localtime(time.time() + 2 * 86400))" />
-                       <field name="product_id" ref="product.product_product_pc1"/>
-                       <field name="product_uom" ref="product.product_uom_unit"/>
-                       <field name="price_unit">450</field>
-                       <field name="product_qty">2</field>
-               </record>
-               <record model="purchase.order.line" id="test_purchase_1_line_3">
-                       <field name="order_id" ref="test_purchase_1"/>
-                       <field name="name">[MB1] Mainboard ASUStek A7N8X</field>
-                       <field name="date_planned" eval="time.strftime('%Y-%m-%d', time.localtime(time.time() + 2 * 86400))" />
-                       <field name="product_id" ref="product.product_product_mb1"/>
-                       <field name="product_uom" ref="product.product_uom_unit"/>
-                       <field name="price_unit">88</field>
-                       <field name="product_qty">3</field>
-               </record>
-               
-               <assert model="purchase.order" id="test_purchase_1" string="The amount of Test purchase is correctly computed" severity="error">
-                       <test expr="sum([l.price_subtotal for l in order_line]) == amount_untaxed" />
-               </assert>
-               
-               <workflow model="purchase.order" ref="test_purchase_1" action="purchase_confirm" />
-               
-               <assert model="purchase.order" id="test_purchase_1" string="Test purchase is now confirmed">
-                       <test expr="state">confirmed</test>
-               </assert>
-               
-               <workflow model="purchase.order" ref="test_purchase_1" action="purchase_approve" uid="base.user_admin" />
-               
-               <assert model="purchase.order" id="test_purchase_1" string="Test purchase is now in progress">
-                       <test expr="state">approved</test>
-               </assert>
-               
-               <!-- Treat generated invoice -->
-               <assert model="purchase.order" id="test_purchase_1" string="Test purchase has now a corresponding invoice" severity="fatal">
-                       <test expr="bool(invoice_id)" />
-               </assert>
-               
-               <assert model="purchase.order" id="test_purchase_1" string="Test purchase's invoice has the same amount and is currently a draft" severity="error">
-                       <test expr="invoice_id.amount_untaxed == amount_untaxed" />
-                       <test expr="invoice_id.amount_total == amount_total" />
-                       <test expr="invoice_id.state">draft</test>
-               </assert>
-               
-               <workflow model="account.invoice" action="invoice_open">
-                       <value model="purchase.order" eval="obj(ref('test_purchase_1')).invoice_id.id" />
-               </workflow>
-               
-               <function model="account.invoice" name="pay_and_reconcile">
-                       <value model="purchase.order" eval="[obj(ref('test_purchase_1')).invoice_id.id]" />
-                       <value eval="1164" />
-                       <value eval="ref('account.cash')" />
-                       <value eval="ref('account.period_' + str(int(time.strftime('%m'))))" />
-                       <value eval="ref('account.bank_journal')" />
-                       <value eval="False" />
-                       <value eval="ref('account.period_' + str(int(time.strftime('%m'))))" />
-                       <value eval="False" />
-               </function>
-               
-               <assert model="purchase.order" id="test_purchase_1" string="Test purchase's invoice is now paid" severity="error">
-                       <test expr="invoice_id.state">paid</test>
-               </assert>
-               
-               <!-- Treat generated picking -->
-               <assert model="purchase.order" id="test_purchase_1" string="Test purchase has now a corresponding packing" severity="fatal">
-                       <test expr="len(picking_ids) == 1" />
-               </assert>
-               
-               <assert model="purchase.order" id="test_purchase_1" string="Test purchase's packing will be sent to the good address" severity="error">
-                       <test expr="picking_ids[0].address_id == partner_address_id" />
-               </assert>
-               
-               <!-- Do the same as in wizard_partial_picking lines 143-144 -->
-               <function model="stock.picking" name="action_move">
-                       <value model="purchase.order" eval="[obj(ref('test_purchase_1')).picking_ids[0].id]" />
-               </function>
-               
-               <workflow model="stock.picking" action="button_done">
-                       <value model="purchase.order" eval="obj(ref('test_purchase_1')).picking_ids[0].id" />
-               </workflow>
-               
-               <assert model="purchase.order" id="test_purchase_1" string="Test purchase's packing is now done" severity="error">
-                       <test expr="picking_ids[0].state">done</test>
-               </assert>
-               
-               <assert model="purchase.order" id="test_purchase_1" string="Test purchase is now completed" severity="fatal">
-                       <test expr="state">done</test>
-               </assert>
-       </data>
-</terp> 
\ No newline at end of file
+        <record model="purchase.order.line" id="test_purchase_1_line_1">
+            <field name="order_id" ref="test_purchase_1"/>
+            <field name="name">[PC1] Basic PC</field>
+            <field name="date_planned" eval="time.strftime('%Y-%m-%d', time.localtime(time.time() + 2 * 86400))" />
+            <field name="product_id" ref="product.product_product_pc1"/>
+            <field name="product_uom" ref="product.product_uom_unit"/>
+            <field name="price_unit">450</field>
+            <field name="product_qty">2</field>
+        </record>
+        <record model="purchase.order.line" id="test_purchase_1_line_3">
+            <field name="order_id" ref="test_purchase_1"/>
+            <field name="name">[MB1] Mainboard ASUStek A7N8X</field>
+            <field name="date_planned" eval="time.strftime('%Y-%m-%d', time.localtime(time.time() + 2 * 86400))" />
+            <field name="product_id" ref="product.product_product_mb1"/>
+            <field name="product_uom" ref="product.product_uom_unit"/>
+            <field name="price_unit">88</field>
+            <field name="product_qty">3</field>
+        </record>
+        
+        <assert model="purchase.order" id="test_purchase_1" string="The amount of Test purchase is correctly computed" severity="error">
+            <test expr="sum([l.price_subtotal for l in order_line]) == amount_untaxed" />
+        </assert>
+        
+        <workflow model="purchase.order" ref="test_purchase_1" action="purchase_confirm" />
+        
+        <assert model="purchase.order" id="test_purchase_1" string="Test purchase is now confirmed">
+            <test expr="state">confirmed</test>
+        </assert>
+        
+        <workflow model="purchase.order" ref="test_purchase_1" action="purchase_approve" uid="base.user_root" />
+        
+        <assert model="purchase.order" id="test_purchase_1" string="Test purchase is now in progress">
+            <test expr="state">approved</test>
+        </assert>
+        
+        <!-- Treat generated invoice -->
+        <assert model="purchase.order" id="test_purchase_1" string="Test purchase has now a corresponding invoice" severity="fatal">
+            <test expr="bool(invoice_id)" />
+        </assert>
+        
+        <assert model="purchase.order" id="test_purchase_1" string="Test purchase's invoice has the same amount and is currently a draft" severity="error">
+            <test expr="invoice_id.amount_untaxed == amount_untaxed" />
+            <test expr="invoice_id.amount_total == amount_total" />
+            <test expr="invoice_id.state">draft</test>
+        </assert>
+        
+        <workflow model="account.invoice" action="invoice_open">
+            <value model="purchase.order" eval="obj(ref('test_purchase_1')).invoice_id.id" />
+        </workflow>
+        
+        <function model="account.invoice" name="pay_and_reconcile">
+            <value model="purchase.order" eval="[obj(ref('test_purchase_1')).invoice_id.id]" />
+            <value eval="1164" />
+            <value search="[('type', '=', 'cash')]" model="account.account"/>
+            <value eval="ref('account.period_' + str(int(time.strftime('%m'))))" />
+            <value eval="ref('account.bank_journal')" />
+            <value search="[('type', '=', 'cash')]" model="account.account"/>
+            <value eval="ref('account.period_' + str(int(time.strftime('%m'))))" />
+            <value eval="ref('account.bank_journal')" />
+        </function>
+        
+        <assert model="purchase.order" id="test_purchase_1" string="Test purchase's invoice is now paid" severity="error">
+            <test expr="invoice_id.state">paid</test>
+        </assert>
+        
+        <!-- Treat generated picking -->
+        <assert model="purchase.order" id="test_purchase_1" string="Test purchase has now a corresponding packing" severity="fatal">
+            <test expr="len(picking_ids) == 1" />
+        </assert>
+        
+        <assert model="purchase.order" id="test_purchase_1" string="Test purchase's packing will be sent to the good address" severity="error">
+            <test expr="picking_ids[0].address_id == partner_address_id" />
+        </assert>
+        
+        <!-- Do the same as in wizard_partial_picking lines 143-144 -->
+        <function model="stock.picking" name="action_move">
+            <value model="purchase.order" eval="[obj(ref('test_purchase_1')).picking_ids[0].id]" />
+        </function>
+        
+        <workflow model="stock.picking" action="button_done">
+            <value model="purchase.order" eval="obj(ref('test_purchase_1')).picking_ids[0].id" />
+        </workflow>
+        
+        <assert model="purchase.order" id="test_purchase_1" string="Test purchase's packing is now done" severity="error">
+            <test expr="picking_ids[0].state">done</test>
+        </assert>
+        
+        <assert model="purchase.order" id="test_purchase_1" string="Test purchase is now completed" severity="fatal">
+            <test expr="state">done</test>
+        </assert>
+    </data>
+</openerp>