diff --git a/addons/account/test/test_edi_invoice.yml b/addons/account/test/test_edi_invoice.yml index a3861e426b7..b1e73140581 100644 --- a/addons/account/test/test_edi_invoice.yml +++ b/addons/account/test/test_edi_invoice.yml @@ -62,7 +62,10 @@ "zip": "1367", "country_id": ["base:b22acf7a-ddcd-11e0-a4db-701a04e25543.be", "Belgium"], "phone": "(+32).81.81.37.00", - "street": "Chaussee de Namur 40" + "street": "Chaussee de Namur 40", + "bank_ids": [ + ["base:b22acf7a-ddcd-11e0-a4db-701a04e25543.res_partner_bank-ZrTWzesfsdDJzGbp","Sample bank: 123465789-156113"] + ], }, "company_id": ["account:b22acf7a-ddcd-11e0-a4db-701a04e25543.res_company_test11", "Thomson pvt. ltd."], "currency": { @@ -118,6 +121,12 @@ invoice_id = self.edi_import(cr, uid, edi_document, context=context) assert invoice_id, 'EDI import failed' invoice_new = self.browse(cr, uid, invoice_id) + + # check bank info on partner + assert len(invoice_new.partner_id.bank_ids) == 1, "Expected 1 bank entry related to partner" + bank_info = invoice_new.partner_id.bank_ids[0] + assert bank_info.acc_number == "Sample bank: 123465789-156113", 'Expected "Sample bank: 123465789-156113", got %s' % bank_info.acc_number + assert invoice_new.partner_id.supplier, 'Imported Partner is not marked as supplier' assert invoice_new.reference == "SAJ/2011/002", "internal number is not stored in reference" assert invoice_new.reference_type == 'none', "reference type is not set to 'none'" diff --git a/addons/edi/models/res_partner.py b/addons/edi/models/res_partner.py index 59324810484..f8ddc4063e8 100644 --- a/addons/edi/models/res_partner.py +++ b/addons/edi/models/res_partner.py @@ -68,8 +68,14 @@ class res_partner_address(osv.osv, EDIMixin): 'res.partner', context=context) assert partner is not None import_ctx = dict(context, default_partner_id=partner.id) + + # get the first bank type + res_partner_bank_type = self.pool.get('res.partner.bank.type') + bank_code_ids = res_partner_bank_type.search(cr, uid, [], context=context) + assert bank_code_ids, 'Please define at least one "bank type" before importing bank accounts' + import_ctx['default_state'] = res_partner_bank_type.browse(cr, uid, bank_code_ids[0]).code bank_ids = [] for ext_bank_id, bank_name in edi_bank_ids: bank_ids.append(self.edi_import_relation(cr, uid, 'res.partner.bank', bank_name, ext_bank_id, context=import_ctx)) - return \ No newline at end of file + return result \ No newline at end of file diff --git a/addons/purchase/test/edi_purchase_order.yml b/addons/purchase/test/edi_purchase_order.yml index f1438bf1ed5..d0dd955fcc8 100644 --- a/addons/purchase/test/edi_purchase_order.yml +++ b/addons/purchase/test/edi_purchase_order.yml @@ -77,6 +77,9 @@ "phone": "(+32).81.81.37.00", "street": "Chaussee de Namur 40", "street2": "mailbox 34", + "bank_ids": [ + ["base:724f93ec-ddd0-11e0-88ec-701a04e25543.res_partner_bank-ZrTWzeDJzGbp","Sample bank: 123465789-156113"] + ], }, "order_line": [{ "__id": "sale:724f93ec-ddd0-11e0-88ec-701a04e25543.sale_order_line-LXEqeuI-SSP0", @@ -110,6 +113,12 @@ new_purchase_order_id = purchase_order_pool.edi_import(cr, uid, edi_document, context=context) assert new_purchase_order_id, 'Purchase order import failed' order_new = purchase_order_pool.browse(cr, uid, new_purchase_order_id) + + # check bank info on partner + assert len(order_new.partner_id.bank_ids) == 1, "Expected 1 bank entry related to partner" + bank_info = order_new.partner_id.bank_ids[0] + assert bank_info.acc_number == "Sample bank: 123465789-156113", 'Expected "Sample bank: 123465789-156113", got %s' % bank_info.acc_number + assert order_new.pricelist_id.name == 'Default Purchase Pricelist' , "Default Purchase Pricelist was not automatically assigned" assert order_new.amount_total == 350, "Amount total is not same" assert order_new.amount_untaxed == 350, "untaxed amount is not same" diff --git a/addons/sale/test/edi_sale_order.yml b/addons/sale/test/edi_sale_order.yml index 184a91081c0..4aefeeecac7 100644 --- a/addons/sale/test/edi_sale_order.yml +++ b/addons/sale/test/edi_sale_order.yml @@ -61,7 +61,10 @@ "street": "Chaussee de Namur 40", "city": "Gerompont", "zip": "1367", - "country_id": ["base:5af1272e-dd26-11e0-b65e-701a04e25543.be", "Belgium"], + "country_id": ["base:5af1272e-dd26-11e0-b65e-701a04e25543.be", "Belgium"], + "bank_ids": [ + ["base:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_bank-ZrTWzesfsdDJzGbp","Sample bank: 123465789-156113"] + ], }, "partner_id": ["purchase:5af1272e-dd26-11e0-b65e-701a04e25543.res_partner_test20", "jones white"], "partner_address": { @@ -105,6 +108,11 @@ assert new_sale_order_id, 'Sale order import failed' order_new = sale_order_pool.browse(cr, uid, new_sale_order_id) + # check bank info on partner + assert len(order_new.partner_id.bank_ids) == 1, "Expected 1 bank entry related to partner" + bank_info = order_new.partner_id.bank_ids[0] + assert bank_info.acc_number == "Sample bank: 123465789-156113", 'Expected "Sample bank: 123465789-156113", got %s' % bank_info.acc_number + assert order_new.pricelist_id.name == 'Public Pricelist' , "Public Price list was not automatically assigned" assert order_new.amount_total == 350, "Amount total is wrong" assert order_new.amount_untaxed == 350, "Untaxed amount is wrong"