diff --git a/addons/account_voucher/__openerp__.py b/addons/account_voucher/__openerp__.py index 9bb8913a5d4..7cdd9ded9f2 100644 --- a/addons/account_voucher/__openerp__.py +++ b/addons/account_voucher/__openerp__.py @@ -50,6 +50,8 @@ ], "test" : [ # "test/account_voucher.yml", + "test/sales_receipt.yml", + "test/sales_payment.yml", ], 'certificate': '0037580727101', diff --git a/addons/account_voucher/test/sales_payment.yml b/addons/account_voucher/test/sales_payment.yml new file mode 100644 index 00000000000..050eec1d014 --- /dev/null +++ b/addons/account_voucher/test/sales_payment.yml @@ -0,0 +1,87 @@ +- + In order to test account voucher i will create an invoice and pay it through account voucher. +- + I create a new Partner +- + !record {model: res.partner, id: res_partner_micropc0}: + address: + - country_id: base.be + name: Jenifer + street: 69 rue de Chimay + type: default + zip: '5478' + category_id: + - base.res_partner_category_8 + credit_limit: 0.0 + name: Micro PC + property_account_payable: account.a_pay + property_account_receivable: account.a_recv + +- + Creat an invoice for the partner +- + !record {model: account.invoice, id: account_invoice_0}: + account_id: account.a_recv + address_contact_id: base.res_partner_address_7 + address_invoice_id: base.res_partner_address_7 + company_id: base.main_company + currency_id: base.EUR + invoice_line: + - account_id: account.a_sale + name: '[PC1] Basic PC' + price_unit: 450.0 + quantity: 1.0 + product_id: product.product_product_pc1 + uos_id: product.product_uom_unit + journal_id: account.sales_journal + partner_id: res_partner_micropc0 + +- + I check that the customer invoice is in draft state +- + !assert {model: account.invoice, id: account_invoice_0}: + - state == 'draft' + +- + I make the invoice in Open state +- + !workflow {model: account.invoice, action: invoice_open, ref: account_invoice_0} + +- + I check that a payment entry gets created in the account.move.line +- + !python {model: account.invoice}: | + acc_id=self.browse(cr, uid, ref("account_invoice_0")) + assert(acc_id.move_id) + +- + I will create and post an account voucher for the partner. +- + !python {model: account.voucher}: | + import netsvc + vals = {} + journal_id = self.default_get(cr, uid, ['journal_id']).get('journal_id',None) + res = self.onchange_partner_id(cr, uid, [], ref("res_partner_micropc0"), journal_id, price=0.0, ttype='receipt') + vals = { + 'account_id': ref('account.cash'), + 'amount': 450.0, + 'company_id': ref('base.main_company'), + 'currency_id': ref('base.EUR'), + 'journal_id': ref('account.bank_journal'), + 'partner_id': ref('res_partner_micropc0'), + 'period_id': ref('account.period_8'), + 'type': 'receipt', + } + res['value']['line_cr_ids'][0]['amount'] = 450.0 + vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']] + id = self.create(cr, uid, vals) + voucher_id = self.browse(cr, uid, id) + assert (voucher_id.state=='draft'), "Voucher is not in draft state" + wf_service = netsvc.LocalService("workflow") + wf_service.trg_validate(uid, 'account.voucher', voucher_id.id, 'proforma_voucher', cr) + +- + Finally i will Confirm the state of the invoice is paid +- + !assert {model: account.invoice, id: account_invoice_0}: + - state == 'paid' diff --git a/addons/account_voucher/test/sales_receipt.yml b/addons/account_voucher/test/sales_receipt.yml new file mode 100644 index 00000000000..70539f5061f --- /dev/null +++ b/addons/account_voucher/test/sales_receipt.yml @@ -0,0 +1,74 @@ + +- + In order to test sales receipt i will create a sale receipt and pay it through sales payment +- + First of all I create a voucher +- + !record {model: account.voucher, id: account_voucher_chinaexport_0}: + account_id: account.a_recv + amount: 30000.0 + company_id: base.main_company + journal_id: account.sales_journal + line_cr_ids: + - account_id: account.a_sale + amount: 30000.0 + partner_id: base.res_partner_3 + period_id: account.period_8 + tax_amount: 0.0 + type: sale + +- + I check that the voucher state is Draft +- + !assert {model: account.voucher, id: account_voucher_chinaexport_0}: + - state == 'draft' + +- + I clicked on post button to post the voucher +- + !workflow {model: account.voucher, action: proforma_voucher, ref: account_voucher_chinaexport_0} + +- + Check the voucher state is Posted +- + !assert {model: account.voucher, id: account_voucher_chinaexport_0}: + - state == 'posted' + +- + I create a voucher record for the same partner +- + !record {model: account.voucher, id: account_voucher_chinaexport_1}: + account_id: account.cash + amount: 30000.0 + company_id: base.main_company + currency_id: base.EUR + journal_id: account.bank_journal + line_cr_ids: + - account_id: account.a_recv + amount: 0.0 + name: 2010/003 + type: cr + - account_id: account.a_recv + amount: 30000.0 + name: 2010/003 + type: cr + partner_id: base.res_partner_3 + period_id: account.period_8 + type: receipt + +- + Check the voucher state is draft +- + !assert {model: account.voucher, id: account_voucher_chinaexport_1}: + - state == 'draft' + +- + I clicked on Post button to post the voucher +- + !workflow {model: account.voucher, action: proforma_voucher, ref: account_voucher_chinaexport_1} + +- + Check the voucher state is Posted +- + !assert {model: account.voucher, id: account_voucher_chinaexport_1}: + - state == 'posted'