translate: fix skipping one translation per .po file in a .tgz
[odoo/odoo.git] / addons / purchase / purchase_unit_test.xml
1 <?xml version="1.0"?>
2 <openerp>
3     <data>
4         <!-- Resource: purchase.order -->
5         <record model="purchase.order" id="test_purchase_1">
6             <field name="name">Test purchase</field>
7             <field name="dest_address_id" search="[]" model="res.partner.address"/>
8             <field name="pricelist_id" ref="list0"/>
9             <field name="partner_id" search="[]" model="res.partner"/>
10             <field name="partner_address_id" search="[]" model="res.partner.address"/>
11             <field name="location_id" ref="stock.stock_location_stock"/>
12         </record>
13         <record model="purchase.order.line" id="test_purchase_1_line_1">
14             <field name="order_id" ref="test_purchase_1"/>
15             <field name="name">[PC1] Basic PC</field>
16             <field name="date_planned" eval="time.strftime('%Y-%m-%d', time.localtime(time.time() + 2 * 86400))" />
17             <field name="product_id" ref="product.product_product_pc1"/>
18             <field name="product_uom" ref="product.product_uom_unit"/>
19             <field name="price_unit">450</field>
20             <field name="product_qty">2</field>
21         </record>
22         <record model="purchase.order.line" id="test_purchase_1_line_3">
23             <field name="order_id" ref="test_purchase_1"/>
24             <field name="name">[MB1] Mainboard ASUStek A7N8X</field>
25             <field name="date_planned" eval="time.strftime('%Y-%m-%d', time.localtime(time.time() + 2 * 86400))" />
26             <field name="product_id" ref="product.product_product_mb1"/>
27             <field name="product_uom" ref="product.product_uom_unit"/>
28             <field name="price_unit">88</field>
29             <field name="product_qty">3</field>
30         </record>
31
32         <assert model="purchase.order" id="test_purchase_1" string="The amount of Test purchase is correctly computed">
33             <test expr="sum([l.price_subtotal for l in order_line]) == amount_untaxed" />
34         </assert>
35
36         <workflow model="purchase.order" ref="test_purchase_1" action="purchase_confirm" />
37
38         <assert model="purchase.order" id="test_purchase_1" string="Test purchase is now in progress">
39             <test expr="state">approved</test>
40         </assert>
41
42         <!-- Treat generated invoice -->
43         <assert model="purchase.order" id="test_purchase_1" string="Test purchase has now a corresponding invoice" severity="fatal">
44             <test expr="bool(invoice_id)" />
45         </assert>
46
47         <assert model="purchase.order" id="test_purchase_1" string="Test purchase's invoice has the same amount and is currently a draft">
48             <test expr="invoice_id.state">draft</test>
49         </assert>
50
51         <workflow model="account.invoice" action="invoice_open">
52             <value model="purchase.order" eval="obj(ref('test_purchase_1')).invoice_id.id" />
53         </workflow>
54
55         <function model="account.invoice" name="pay_and_reconcile">
56             <value model="purchase.order" eval="[obj(ref('test_purchase_1')).invoice_id.id]" />
57             <value eval="1164" />
58             <value eval="ref('account.cash')"/>
59             <value eval="ref('account.period_' + str(int(time.strftime('%m'))))" />
60             <value eval="ref('account.bank_journal')" />
61             <value eval="ref('account.cash')"/>
62             <value eval="ref('account.period_' + str(int(time.strftime('%m'))))" />
63             <value eval="ref('account.bank_journal')" />
64         </function>
65
66         <assert model="purchase.order" id="test_purchase_1" string="Test purchase's invoice is now paid" severity="error">
67             <test expr="invoice_id.state">paid</test>
68         </assert>
69
70         <!-- Treat generated picking -->
71         <assert model="purchase.order" id="test_purchase_1" string="Test purchase has now a corresponding picking" severity="fatal">
72             <test expr="len(picking_ids) == 1" />
73         </assert>
74
75         <assert model="purchase.order" id="test_purchase_1" string="Test purchase's picking will be sent to the good address" severity="error">
76             <test expr="picking_ids[0].address_id == partner_address_id" />
77         </assert>
78
79         <!-- Do the same as in wizard_partial_picking lines 143-144 -->
80         <function model="stock.picking" name="action_move">
81             <value model="purchase.order" eval="[obj(ref('test_purchase_1')).picking_ids[0].id]" />
82         </function>
83
84         <workflow model="stock.picking" action="button_done">
85             <value model="purchase.order" eval="obj(ref('test_purchase_1')).picking_ids[0].id" />
86         </workflow>
87
88         <assert model="purchase.order" id="test_purchase_1" string="Test purchase's picking is now done" severity="error">
89             <test expr="picking_ids[0].state">done</test>
90         </assert>
91
92         <assert model="purchase.order" id="test_purchase_1" string="Test purchase is now completed" severity="fatal">
93             <test expr="state">done</test>
94         </assert>
95     </data>
96 </openerp>
97