Turkesh Patel (openERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-clean-yml-purchase-tpa into
lp:openobject-addons.
Requested reviews:
Ujjvala Collins (OpenERP) (uco-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-clean-yml-purchase-tpa/+merge/85836
Purchase
Improved YML test cases of purchase module.
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-clean-yml-purchase-tpa/+merge/85836
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-clean-yml-purchase-tpa.
=== modified file 'purchase/__openerp__.py'
--- purchase/__openerp__.py 2011-12-08 22:25:43 +0000
+++ purchase/__openerp__.py 2011-12-15 11:35:17 +0000
@@ -67,6 +67,7 @@
'test/process/run_scheduler.yml',
'test/process/merge_order.yml',
'test/process/edi_purchase_order.yml',
+ 'test/process/invoice_on_poline.yml',
'test/ui/print_report.yml',
'test/ui/duplicate_order.yml',
'test/ui/delete_order.yml',
=== modified file 'purchase/report/order.py'
--- purchase/report/order.py 2011-01-14 00:11:01 +0000
+++ purchase/report/order.py 2011-12-15 11:35:17 +0000
@@ -33,6 +33,7 @@
'get_tax': self._get_tax,
'get_product_code': self._get_product_code,
})
+ #dead code
def _get_line_tax(self, line_obj):
self.cr.execute("SELECT tax_id FROM purchase_order_taxe WHERE order_line_id=%s", (line_obj.id))
res = self.cr.fetchall() or None
@@ -44,7 +45,8 @@
tax_ids = res[0]
res = [tax.name for tax in pooler.get_pool(self.cr.dbname).get('account.tax').browse(self.cr, self.uid, tax_ids)]
return ",\n ".join(res)
-
+
+ #dead code
def _get_tax(self, order_obj):
self.cr.execute("SELECT DISTINCT tax_id FROM purchase_order_taxe, purchase_order_line, purchase_order \
WHERE (purchase_order_line.order_id=purchase_order.id) AND (purchase_order.id=%s)", (order_obj.id))
@@ -73,6 +75,8 @@
'base':base,
'amount':base*tax.amount})
return res
+
+ #dead code
def _get_product_code(self, product_id, partner_id):
product_obj=pooler.get_pool(self.cr.dbname).get('product.product')
return product_obj._product_code(self.cr, self.uid, [product_id], name=None, arg=None, context={'partner_id': partner_id})[product_id]
=== modified file 'purchase/test/process/cancel_order.yml'
--- purchase/test/process/cancel_order.yml 2011-11-13 23:01:58 +0000
+++ purchase/test/process/cancel_order.yml 2011-12-15 11:35:17 +0000
@@ -5,6 +5,13 @@
-
!workflow {model: purchase.order, action: purchase_confirm, ref: order_purchase4}
-
+ I changed Expected Date to Next Day.
+-
+ !python {model: purchase.order}: |
+ import datetime
+ next_day = (datetime.date.today()+datetime.timedelta(days=1))
+ self.write(cr, uid, [ref("order_purchase4")], {'minimum_planned_date': next_day})
+-
I check the "Approved" status after confirmed RFQ.
-
!assert {model: purchase.order, id: order_purchase4}:
=== added file 'purchase/test/process/invoice_on_poline.yml'
--- purchase/test/process/invoice_on_poline.yml 1970-01-01 00:00:00 +0000
+++ purchase/test/process/invoice_on_poline.yml 2011-12-15 11:35:17 +0000
@@ -0,0 +1,26 @@
+-
+ I create the Default invoicing control method "Based on Purchase Order Lines".
+-
+ !record {model: purchase.config.wizard, id: invoice_control}:
+ default_method: manual
+-
+ I set the Default invoicing control method "Based on Purchase Order Lines".
+-
+ !python {model: purchase.config.wizard}: |
+ self.execute(cr, uid, [ref('invoice_control')])
+-
+ In order to test the flow, I start it from confirmed purchase order.
+-
+ !workflow {model: purchase.order, action: purchase_confirm, ref: order_purchase6}
+-
+ In order to test create invoice for purchase order line.
+-
+ !python {model: purchase.order}: |
+ invoice_line_obj = self.pool.get('purchase.order.line_invoice')
+ purchase_order = self.browse(cr, uid, ref("order_purchase6"))
+ context.update({'active_model': 'purchase.order', 'active_ids': [ref("order_purchase6")]})
+ for purchase_line in purchase_order.order_line:
+ invoice_line_obj.makeInvoices(cr, uid, purchase_line.id, context=context)
+ assert len(purchase_order.invoice_ids) == 1, "Invoice should be generated."
+ assert purchase_line.invoiced == True
+ assert len(purchase_line.invoice_lines) == 1, "Invoice line should be generated."
\ No newline at end of file
=== modified file 'purchase_double_validation/__openerp__.py'
--- purchase_double_validation/__openerp__.py 2011-12-06 12:03:55 +0000
+++ purchase_double_validation/__openerp__.py 2011-12-15 11:35:17 +0000
@@ -41,7 +41,10 @@
'purchase_double_validation_installer.xml',
'board_purchase_view.xml'
],
- 'test': ['test/purchase_double_validation_test.yml'],
+ 'test': [
+ 'test/process/purchase_double_validation_demo.yml',
+ 'test/process/purchase_double_validation_test.yml'
+ ],
'demo_xml': [],
'installable': True,
'active': False,
=== added directory 'purchase_double_validation/test/process'
=== added file 'purchase_double_validation/test/process/purchase_double_validation_demo.yml'
--- purchase_double_validation/test/process/purchase_double_validation_demo.yml 1970-01-01 00:00:00 +0000
+++ purchase_double_validation/test/process/purchase_double_validation_demo.yml 2011-12-15 11:35:17 +0000
@@ -0,0 +1,13 @@
+-
+ !record {model: purchase.order, id: order_purchase11}:
+ partner_id: base.res_partner_desertic_hispafuentes
+ order_line:
+ - product_id: product.product_product_pc4
+ product_qty: 10
+
+-
+ !record {model: purchase.order, id: order_purchase12}:
+ partner_id: base.res_partner_vickingdirect0
+ order_line:
+ - product_id: product.product_product_hdd2
+ product_qty: 10
=== renamed file 'purchase_double_validation/test/purchase_double_validation_test.yml' => 'purchase_double_validation/test/process/purchase_double_validation_test.yml'
--- purchase_double_validation/test/purchase_double_validation_test.yml 2011-07-18 13:41:25 +0000
+++ purchase_double_validation/test/process/purchase_double_validation_test.yml 2011-12-15 11:35:17 +0000
@@ -1,117 +1,57 @@
-
I Create new limit amount from Configure Limit Amount for Purchase wizard.
--
+-
!record {model: purchase.double.validation.installer, id: purchase_double_validation_installer_1}:
limit_amount: 3000
--
- Then I set the Limit Amount
--
+-
+ Then I set the Limit Amount.
+-
!python {model: purchase.double.validation.installer}: |
self.execute(cr, uid, [ref("purchase_double_validation_installer_1")])
-
- In order to test the purchase double validation flow,I start by creating a new product 'MOB1'
--
- !record {model: product.product, id: product_product_mob1}:
- categ_id: 'product.product_category_3'
- cost_method: standard
- mes_type: fixed
- name: MOB1
- price_margin: 2.0
- procure_method: make_to_stock
- property_stock_inventory: stock.location_inventory
- property_stock_procurement: stock.location_procurement
- property_stock_production: stock.location_production
- seller_delay: '1'
- standard_price: 2000.0
- supply_method: buy
- type: product
- uom_id: product.product_uom_unit
- uom_po_id: product.product_uom_unit
- volume: 0.0
- warranty: 0.0
- weight: 0.0
- weight_net: 0.0
--
- In order to test the purchase double validation flow,I create a new record where "invoice_method" is From Order.
--
Test for purchase double validation in which Total > = Limit Amount.
--
- I create purchase order for MOB1 for 3 quantity.
--
- !record {model: purchase.order, id: purchase_order_po11}:
- company_id: base.main_company
- date_order: '2011-01-1'
- invoice_method: order
- location_id: stock.stock_location_stock
- order_line:
- - date_planned: '2011-01-11'
- name: MOB1
- price_unit: 2000.0
- product_id: 'product_product_mob1'
- product_qty: 3.0
- product_uom: product.product_uom_unit
- state: draft
- partner_address_id: base.res_partner_address_7
- partner_id: base.res_partner_4
- pricelist_id: purchase.list0
--
- Initially purchase order is in the draft state.
--
- !assert {model: purchase.order, id: purchase_order_po11}:
- - state == 'draft'
--
- I confirm the purchase order for MOB1.
--
- !workflow {model: purchase.order, action: purchase_confirm, ref: purchase_order_po11}
--
+-
+ !python {model: purchase.order}: |
+ installer_amount = self.pool.get('purchase.double.validation.installer').browse(cr, uid, ref("purchase_double_validation_installer_1"))
+ purchase_order = self.browse(cr, uid, ref("order_purchase11"))
+ assert purchase_order.amount_total >= installer_amount.limit_amount ,"Total is Greater then the Limit Amount"
+-
+ In order to test the flow, I confirmed the purchase order.
+-
+ !workflow {model: purchase.order, action: purchase_confirm, ref: order_purchase11}
+-
I check that the order which was initially in the draft state has transmit to confirm state for double validation.
-
- !assert {model: purchase.order, id: purchase_order_po11}:
+ !assert {model: purchase.order, id: order_purchase11}:
- state == 'confirmed'
-
- I Approved purchase order by Supplier for MOB1.
--
- !workflow {model: purchase.order, action: purchase_approve, ref: purchase_order_po11}
--
+ I Approved the purchase order.
+-
+ !workflow {model: purchase.order, action: purchase_approve, ref: order_purchase11}
+-
I check that the order which was initially in the confirmed state has transmit to approved state.
-
- !assert {model: purchase.order, id: purchase_order_po11}:
- - state == 'approved'
--
- Test for purchase double validation in which Total < Limit Amount.
--
- I create purchase order for MOB1 for 1 quantity.
--
- !record {model: purchase.order, id: purchase_order_po12}:
- company_id: base.main_company
- date_order: '2011-01-02'
- invoice_method: order
- location_id: stock.stock_location_stock
- order_line:
- - date_planned: '2011-01-12'
- name: MOB1
- price_unit: 2000.0
- product_id: 'product_product_mob1'
- product_qty: 1.0
- product_uom: product.product_uom_unit
- state: draft
- partner_address_id: base.res_partner_address_7
- partner_id: base.res_partner_4
- pricelist_id: purchase.list0
--
- Initially purchase order is in the draft state.
--
- !assert {model: purchase.order, id: purchase_order_po12}:
- - state == 'draft'
--
- I confirm the purchase order for MOB1.
--
- !workflow {model: purchase.order, action: purchase_confirm, ref: purchase_order_po12}
--
- I check that the order which was initially in the draft state has transmit to approved state.
--
- !assert {model: purchase.order, id: purchase_order_po12}:
- - state == 'approved'
-
-
-
\ No newline at end of file
+ !assert {model: purchase.order, id: order_purchase11}:
+ - state == 'approved'
+-
+ Test for purchase double validation in which Total < = Limit Amount.
+-
+ !python {model: purchase.order}: |
+ installer_amount = self.pool.get('purchase.double.validation.installer').browse(cr, uid, ref("purchase_double_validation_installer_1"))
+ purchase_order = self.browse(cr, uid, ref("order_purchase12"))
+ assert purchase_order.amount_total <= installer_amount.limit_amount ,"Total is Less then the Limit Amount"
+-
+ I confirmed the purchase order.
+-
+ !workflow {model: purchase.order, action: purchase_confirm, ref: order_purchase12}
+-
+ I Approved the purchase order.
+-
+ !workflow {model: purchase.order, action: purchase_approve, ref: order_purchase12}
+-
+ I check that the order has transmit to approved state.
+-
+ !assert {model: purchase.order, id: order_purchase12}:
+ - state == 'approved'
+
+
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp