2 I create a company for Customer
4 !record {model: res.company, id: res_company_test11}:
5 name: Thomson pvt. ltd.
13 I create a partner which is a my customer
15 !record {model: res.partner, id: res_partner_test20}:
18 company_id: res_company_test11
21 I create one customer invoice
23 !record {model: account.invoice, id: customer_invoice_test}:
25 partner_id: res_partner_test20
27 address_invoice_id: base.res_partner_address_11
28 company_id: res_company_test11
29 account_id: account.a_pay
30 date_invoice: '2011-06-22'
34 - product_id: product.product_product_pc1
35 partner_id: res_partner_test20
40 account_id: account.a_pay
42 - product_id: product.product_product_pc3
43 partner_id: res_partner_test20
48 account_id: account.a_pay
52 account_id: account.a_pay
59 !python {model: account.invoice}: |
61 invoices = self.browse(cr, uid, ref("customer_invoice_test"))
63 wf_service = netsvc.LocalService("workflow")
64 wf_service.trg_validate(uid, 'account.invoice',invoices.id,'invoice_open', cr)
67 I Testing of EDI functionality. First I export customer invoice from my company than import that invoice into customer company
69 !python {model: ir.edi.document}: |
70 invoice_pool = self.pool.get('account.invoice')
71 invoice = invoice_pool.browse(cr, uid, ref("customer_invoice_test"))
73 tokens = self.export_edi(cr, uid, [invoice])
74 assert tokens, 'Token is not generated'
76 I import of EDI document of custmer invoice
78 !python {model: ir.edi.document}: |
79 invoice_pool = self.pool.get('account.invoice')
81 "internal_number": "SAJ/2011/002",
85 "__last_update": False,
86 "country_id": ["b22acf7a-ddcd-11e0-a4db-701a04e25543:base.be", "Belgium"],
87 "__id": "b22acf7a-ddcd-11e0-a4db-701a04e25543:base.main_address",
88 "phone": "(+32).81.81.37.00",
89 "street": "Chaussee de Namur 40"
91 "company_id": ["b22acf7a-ddcd-11e0-a4db-701a04e25543:account.res_company_test11", "Thomson pvt. ltd."],
92 "currency_id": ["b22acf7a-ddcd-11e0-a4db-701a04e25543:base.EUR", "EUR (\u20ac)"],
93 "address_invoice_id": ["b22acf7a-ddcd-11e0-a4db-701a04e25543:base.res_partner_address_11", "Sebastien LANGE, France, Alencon, 1 place de l'\u00c9glise"],
94 "partner_id": ["b22acf7a-ddcd-11e0-a4db-701a04e25543:account.res_partner_test20", "Junjun wala"],
96 "__module": "account",
97 "amount_total": 1010.0,
98 "date_invoice": "2011-06-22",
99 "amount_untaxed": 10.0,
100 "name": "selling product",
101 "__model": "account.invoice",
102 "__last_update": False,
106 "__id": "b22acf7a-ddcd-11e0-a4db-701a04e25543:b22acf7a-ddcd-11e0-a4db-701a04e25543:account.account_invoice_tax-4g4EutbiEMVl",
108 "__last_update": False
110 "__id": "b22acf7a-ddcd-11e0-a4db-701a04e25543:account.customer_invoice_test",
111 "amount_tax": 1000.0,
113 "type": "out_invoice",
115 "uos_id": ["b22acf7a-ddcd-11e0-a4db-701a04e25543:product.product_uom_unit", "PCE"],
117 "__last_update": False,
119 "price_subtotal": 10.0,
120 "__id": "b22acf7a-ddcd-11e0-a4db-701a04e25543:b22acf7a-ddcd-11e0-a4db-701a04e25543:account.account_invoice_line-1RP3so-u2vV4",
121 "product_id": ["b22acf7a-ddcd-11e0-a4db-701a04e25543:product.product_product_pc1", "[PC1] Basic PC"],
125 "uos_id": ["b22acf7a-ddcd-11e0-a4db-701a04e25543:product.product_uom_unit", "PCE"],
127 "__last_update": False,
129 "price_subtotal": 100.0,
130 "__id": "b22acf7a-ddcd-11e0-a4db-701a04e25543:b22acf7a-ddcd-11e0-a4db-701a04e25543:account.account_invoice_line-1RP3so-u2vV4",
131 "product_id": ["b22acf7a-ddcd-11e0-a4db-701a04e25543:product.product_product_pc3", "[PC3] Medium PC"],
136 invoice_id = invoice_pool.edi_import(cr, uid, edi_document, context=context)
137 invoice_new = invoice_pool.browse(cr, uid, invoice_id, context=context)
138 assert invoice_id, 'Invoice is not imported'
140 I Checking the out invoice become in invoice or not after import
142 !python {model: account.invoice}: |
144 new_partner_id = self.pool.get('res.partner').name_search(cr, uid, "Thomson pvt. ltd.")
145 assert new_partner_id, 'Partner is not created of Supplier'
146 ids = self.search(cr, uid, [('partner_id','=',new_partner_id[0][0]),('reference','=',"SAJ/2011/002")])
147 assert ids, 'Invoice does not have created of party'
148 invoice_new = self.browse(cr, uid, ids[0])
149 assert invoice_new.reference == "SAJ/2011/002", "internal number is not stored in reference"
150 assert invoice_new.reference_type == 'none', "reference type is not set to 'None'"
151 assert invoice_new.internal_number == False, "internal number is not reset"
152 assert invoice_new.journal_id.id, "journal id is not selected"
153 assert invoice_new.type == 'in_invoice', "Imported in voice is not supplier invoice"
154 product = ['Medium PC','Basic PC']
155 for inv_line in invoice_new.invoice_line:
156 assert inv_line.account_id.id, "account_id is not taken from product's default"
157 assert inv_line.product_id.name in ['Medium PC','Basic PC'], "product is not in Invoice line"
158 for inv_tax in invoice_new.tax_line:
159 assert inv_tax.manual, "for tax line manual is not set to True"
160 assert inv_tax.account_id, "for tax_line default accounts is not picked based on the tax config of the DB where it is imported."