[REM] partner_geo_assign
[odoo/odoo.git] / addons / point_of_sale / test / pos_test.yml
1 -
2   In order to test the POS in module, To give business owners a convenient way of checking out customers and of recording sales.
3
4 -
5   I  configure all details for the Customer, Salesman and Product, Account.
6 -
7   I create View Account Type.
8 -
9   !record {model: account.account.type, id: account_account_type_view0}:
10     close_method: none
11     code: View
12     name: View
13     sign: 1
14 -
15   I create Income Account Type.
16 -
17   !record {model: account.account.type, id: account_account_type_income0}:
18     close_method: unreconciled
19     code: Income
20     name: Income
21     sign: 1
22 -
23   I create Expense Account Type.
24 -
25   !record {model: account.account.type, id: account_account_type_expense0}:
26     close_method: unreconciled
27     code: Expense
28     name: Expense
29     sign: 1
30 -
31   I create Cash Account Type.
32 -
33   !record {model: account.account.type, id: account_account_type_cash0}:
34     close_method: balance
35     code: Cash
36     name: Cash
37     sign: 1
38 -
39   I create Minimal Chart Account.
40 -
41   !record {model: account.account, id: account_pos_account_minimalchart}:
42     code: '0'
43     company_id: base.main_company
44     currency_mode: current
45     name: Minimal Chart
46     parent_left: 1
47     parent_right: 12
48     type: view
49     user_type: account_account_type_view0
50 -
51    I create Payable Account.
52 -
53   !record {model: account.account, id: account_pos_account_payable}:
54     code: AP
55     company_id: base.main_company
56     currency_mode: current
57     name: Payable
58     parent_id: account_pos_account_minimalchart
59     parent_left: 2
60     parent_right: 3
61     reconcile: true
62     type: payable
63     user_type: account_account_type_expense0
64 -
65    I create Receivable Account.
66 -
67   !record {model: account.account, id: account_pos_account_receivable}:
68     code: AR
69     company_id: base.main_company
70     currency_mode: current
71     name: Receivable
72     parent_id: account_pos_account_minimalchart
73     parent_left: 4
74     parent_right: 5
75     reconcile: true
76     type: receivable
77     user_type: account_account_type_income0
78 -
79   I create Cash Account.
80 -
81   !record {model: account.account, id: account_pos_account_cash}:
82     code: C
83     company_id: base.main_company
84     currency_mode: current
85     name: Cash
86     parent_id: account_pos_account_minimalchart
87     parent_left: 6
88     parent_right: 7
89     type: other
90     user_type: account_account_type_cash0
91 -
92   I create Purchases Account.
93 -
94   !record {model: account.account, id: account_pos_account_purchases}:
95     code: P
96     company_id: base.main_company
97     currency_mode: current
98     name: Purchases
99     parent_id: account_pos_account_minimalchart
100     parent_left: 8
101     parent_right: 9
102     type: other
103     user_type: account_account_type_expense0
104 -
105   I create Sales Account.
106 -
107   !record {model: account.account, id: account_pos_account_sales}:
108     code: Sale
109     company_id: base.main_company
110     currency_mode: current
111     name: Sales
112     parent_id: account_pos_account_minimalchart
113     parent_left: 10
114     parent_right: 11
115     type: other
116     user_type: account_account_type_income0
117 -
118   I create Purchase Journal.
119 -
120   !record {model: account.journal, id: account_pos_account_journal_purchasejournal}:
121     code: PUJ
122     company_id: base.main_company
123     default_credit_account_id: account_pos_account_purchases
124     default_debit_account_id: account_pos_account_purchases
125     name: Purchase Journal
126     sequence_id: account.sequence_purchase_journal
127     type: purchase
128     view_id: account.account_journal_view
129 -
130   I create Sale Journal.
131 -
132   !record {model: account.journal, id: account_pos_account_journal_salejournal}:
133     code: SAJ
134     company_id: base.main_company
135     default_credit_account_id: account_pos_account_sales
136     default_debit_account_id: account_pos_account_sales
137     name: Sale Journal
138     sequence_id: account.sequence_sale_journal
139     type: sale
140     view_id: account.account_journal_view
141 -
142   I create Bank Journal.
143 -
144   !record {model: account.journal, id: account_pos_account_journal_bankjournal}:
145     code: BNK
146     company_id: base.main_company
147     default_credit_account_id: account_pos_account_cash
148     default_debit_account_id: account_pos_account_cash
149     name: Bank Journal
150     sequence_id: account.sequence_journal
151     type: cash
152     view_id: account.account_journal_bank_view
153 -
154   I create property for account payable.
155 -
156   !record {model: ir.property, id: ir_property_propertyaccountexpensecateg0}:
157     company_id: base.main_company
158     fields_id: account.field_res_partner_property_account_payable
159     name: property_account_expense_categ
160     value_reference: account.account,5
161 -
162   I create property for account receivable.
163 -
164   !record {model: ir.property, id: ir_property_propertyaccountincomecateg0}:
165     company_id: base.main_company
166     fields_id: account.field_res_partner_property_account_receivable
167     name: property_account_income_categ
168     value_reference: account.account,6
169 -
170   I create Partner category Customers.
171 -
172   !record {model: res.partner.category, id: res_partner_category_customers0}:
173     name: Customers
174 -
175   I create partner
176 -
177   !record {model: res.partner, id: res_partner_cleartrail0}:
178     category_id:
179       - res_partner_category_customers0
180     name: Cleartrail
181 -
182   I create partner address.
183 -
184   !record {model: res.partner.address, id: res_partner_address_1}:
185     partner_id: res_partner_cleartrail0
186     street: onam plaza, 14 B palasia A B Road
187     type: contact
188 -
189   I create partner  invoice address.
190 -
191   !record {model: res.partner.address, id: res_partner_address_2}:
192     partner_id: res_partner_cleartrail0
193     type: invoice
194 -
195   I create partner delivery address.
196 -
197   !record {model: res.partner.address, id: res_partner_address_3}:
198     partner_id: res_partner_cleartrail0
199     street: sangam house 15 B palasia, A B Road
200     type: delivery
201 -
202   I create product category.
203 -
204   !record {model: product.category, id: product_category_allproductssellable0}:
205     name: Mobile Products Sellable
206 -
207    I create partner.
208 -
209   !record {model: res.partner, id: res_partner_microlinktechnologies0}:
210     address:
211       - street: Kailash Vaibhav, Parksite
212     name: Micro Link Technologies
213     property_account_payable: account_pos_account_payable
214     property_account_receivable: account_pos_account_receivable
215     supplier: true
216 -
217   I create partner address .
218 -
219   !record {model: res.partner.address, id: res_partner_address_0}:
220     country_id: base.in
221     partner_id: res_partner_microlinktechnologies0
222     street: Ash House, Ash Road
223     title: base.res_partner_title_miss
224 -
225   I create product category .
226 -
227   !record {model: product.category, id: product_category_services0}:
228     name: Mobile Services
229 -
230   I create product template .
231 -
232   !record {model: product.template, id: product_template_lgviewtysmart0}:
233     categ_id: product_category_allproductssellable0
234     cost_method: standard
235     list_price: 170.0
236     mes_type: fixed
237     name: LG Viewty Smart
238     procure_method: make_to_order
239     standard_price: 160.0
240     supply_method: produce
241     type: product
242     uom_id: product.product_uom_unit
243     uom_po_id: product.product_uom_unit
244 -
245   I create product  LG Viewty Smart.
246 -
247   !record {model: product.product, id: product_product_lgviewtysmart0}:
248     categ_id: product_category_allproductssellable0
249     cost_method: standard
250     list_price: 170.0
251     mes_type: fixed
252     name: LG Viewty Smart
253     procure_method: make_to_order
254     property_account_expense: account_pos_account_payable
255     property_account_income: account_pos_account_receivable
256     seller_delay: '1'
257     standard_price: 160.0
258     supply_method: produce
259     type: product
260     uom_id: product.product_uom_unit
261     uom_po_id: product.product_uom_unit
262 -
263   I create product category .
264 -
265   !record {model: product.category, id: product_category_computer0}:
266     name: Computer
267 -
268   I create product  HP Pavilion Desktop PCs
269 -
270   !record {model: product.product, id: product_product_hppaviliondesktoppcs0}:
271     categ_id: product_category_computer0
272     cost_method: standard
273     mes_type: fixed
274     list_price: 1000.0    
275     name: HP Pavilion Desktop PCs
276     procure_method: make_to_stock
277     seller_ids:
278       - delay: 1
279         name: res_partner_microlinktechnologies0
280         min_qty: 5.0
281     supply_method: buy
282     type: product
283     uom_id: product.product_uom_unit
284     uom_po_id: product.product_uom_unit
285     property_account_expense: account_pos_account_payable
286     property_account_income: account_pos_account_receivable
287 -
288   I create New Order by adding the details of Salesman and  "Product" as LG Viewty Smart Quantity as 10.
289 -
290   !record {model: pos.order, id: pos_order_pos0}:
291     company_id: base.main_company
292     date_order: '2010-05-13 15:02:48'
293     date_validity: '2010-11-13'
294     lines:
295       - company_id: base.main_company
296         name: Order Line/01
297         notice: No Discount
298         product_id: product_product_lgviewtysmart0
299         qty: 10.0
300         qty_rfd: 0.0
301     partner_id: base.res_partner_agrolait
302     name: POS/001
303     price_type: tax_excluded
304     pricelist_id: product.list0
305     sale_journal: account.sales_journal
306     shop_id: sale.shop
307     user_salesman_id: base.user_root
308
309   I add discount. 
310
311   !record {model: pos.discount, id: pos_discount_0}:
312     discount: 5.0
313     discount_notes: More then 5 product
314
315   I Apply the discount. 
316
317   !python {model: pos.discount}: |
318     self.apply_discount(cr, uid, [ref("pos_discount_0")], {"lang": "en_US", "active_model":
319       "pos.order", "active_ids": [ref("pos_order_pos0")], "tz": False, "active_id":
320       ref("pos_order_pos0"), })
321
322   I open the register.
323
324   !record {model: pos.open.statement, id: pos_open_statement_0}:
325     {}
326
327   I open the statement.
328
329   !python {model: pos.open.statement}: |
330     self.open_statement(cr, uid, [ref("pos_open_statement_0")], {"lang": "en_US", "active_model":
331       "ir.ui.menu", "active_ids": [ref("point_of_sale.menu_open_statement")], "tz":
332       False, "active_id": ref("point_of_sale.menu_open_statement"), })
333 -
334   I click on the "Make Payment" wizard.  
335
336   !record {model: pos.make.payment, id: pos_make_payment_0}:
337     amount: 1615.0
338     journal: 7
339     payment_date: "2010-05-13"
340     payment_name: Payment
341     product_id: product_product_hppaviliondesktoppcs0
342     pricelist_id: product.list0
343     partner_id: base.res_partner_agrolait
344
345   I make the payment.
346
347   !python {model: pos.make.payment}: |
348     self.check(cr, uid, [ref("pos_make_payment_0")], {"lang": "en_US", "active_model":
349       "pos.order", "active_ids": [ref("point_of_sale.pos_order_pos0")], "tz":
350       False, "active_id": ref("point_of_sale.pos_order_pos0"), })
351 -
352   I check the Statement lines are created automatically when payment is done.
353 -
354   !python {model: pos.order}: |
355    order=self.browse(cr,uid,ref("pos_order_pos0"))
356    assert(order.statement_ids!=[]), "Statement lines not created"    
357 -
358   When I click on Return picking button , I get three option.
359 -
360   1. Cancel 2.Return Goods and Exchange 3.Return without Refund
361 -
362   When I click on  Return Goods and Exchange.  
363 -  
364   Then it allows me to define the quantity of products, which will return to the stock. 
365
366   I click on Return Picking button.
367
368   !record {model: pos.return, id: pos_return_0}:
369    {}
370
371   I Return the product.
372
373   !python {model: pos.return}: |
374     self.create_returns(cr, uid, [ref("pos_return_0")], {"lang": "en_US", "active_model":
375       "pos.order", "active_ids": [ref("point_of_sale.pos_order_pos0")], "tz":
376       False, "active_id": ref("point_of_sale.pos_order_pos0"), })
377
378   Then it allows me to define the quantity of products, which will return to the stock.
379 -
380   I select the  HP Pavilion Desktop PCs for exchange.   
381
382   !record {model: pos.add.product, id: pos_add_product_0}:
383     product_id: product_product_hppaviliondesktoppcs0
384     quantity: 5.0
385 -    
386   I click on close button.
387
388   !python {model: pos.add.product}: |
389     return_obj = self.pool.get('pos.return')
390     context['active_ids'] = [ref("pos_order_pos0")] 
391     return_obj.view_init(cr, uid, [],context=context)
392     self.close_action(cr, uid, [ref("pos_add_product_0")], {"lang": "en_US", "active_model":
393       "pos.order", "active_ids": [ref("pos_order_pos0")], "tz": False, "active_id": ref("pos_order_pos0"),
394       })
395 -    
396   I create payment.
397
398   !record {model: pos.make.payment, id: pos_make_payment_1}:
399     amount: 680.0
400     journal: 7
401     payment_date: "2010-05-13"
402     payment_name: Payment
403     product_id: product_product_hppaviliondesktoppcs0
404     pricelist_id: product.list0
405     partner_id: base.res_partner_agrolait
406
407   For payment, I click on  Make Payment. 
408
409   !python {model: pos.make.payment}: |
410     self.check(cr, uid, [ref("pos_make_payment_1")], {"lang": "en_US", "active_model":
411       "pos.order", "active_ids": [ref("pos_order_pos0")], "tz":
412       False, "active_id": ref("pos_order_pos0"), })    
413
414   To check the Return without Refund . I click button "Return without Refund ".
415
416   !record {model: pos.return, id: pos_return_0}:
417    {}
418 -
419   The quantity which is selected in Return lines wizard is refunded.
420
421   !python {model: pos.return}: |
422     self.create_returns2(cr, uid, [ref("pos_return_0")], {"lang": "en_US", "active_model":
423       "pos.order", "active_ids": [ref("pos_order_pos0")], "tz":
424       False, "active_id": ref("pos_order_pos0"), })
425
426   To Close order, I use the wizard "Sale Confirm".
427
428   !record {model: pos.confirm, id: pos_confirm_0}:
429     {}
430
431   I close this order.
432
433   !python {model: pos.confirm}: |
434     self.action_confirm(cr, uid, [ref("pos_confirm_0")], {"lang": "en_US", "active_model":
435       "pos.order", "active_ids": [ref("pos_order_pos0")], "tz": False, "active_id": ref("pos_order_pos0"),
436       })
437
438   I check order state is done.
439
440   !python {model: pos.order}: |
441     order=self.browse(cr,uid,ref("pos_order_pos0"))    
442     assert(order.state=='done'), "Order is not done"