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