l10n_it_ricevute_bancarie/test/issue_riba.yml
-
I call the wizards
-
!record {model: riba.issue, id: riba_emissione_1, view: riba_issue_view}:
configuration_id: sbf_riba_config
-
I run the wizards
-
!python {model: riba.issue}: |
invoice = self.pool['account.invoice'].browse(
cr, uid, ref('account_invoice_riba'), context=context)
for move_line in invoice.move_id.line_id:
if move_line.account_id.id == ref('account.a_recv'):
riba_move_line_id = move_line.id
break
action = self.create_list(cr, uid, [ref("riba_emissione_1")], {"lang": 'en_US',
"tz": False, "active_model": "account.move.line", "active_ids": [riba_move_line_id],
"active_id": riba_move_line_id, })
riba_list_id = action and action['res_id'] or False
list_pool = self.pool['riba.distinta']
list_pool.confirm(cr, uid, [riba_list_id], context=context)
riba_list = list_pool.browse(cr, uid, riba_list_id)
assert (riba_list.state == 'accepted'), ("RiBa list is not accepted, but %s" % riba_list.state)
assert (invoice.state == 'paid'), ("Invoice state is not paid, but %s" % invoice.state)
accreditation_pool = self.pool['riba.accreditation']
accr_context = {
"lang": 'en_US',
"tz": False,
"active_model": "riba.distinta",
"active_ids": [riba_list_id],
"active_id": riba_list_id,
}
accr_id = accreditation_pool.create(cr, uid, {
'bank_amount': 445,
'expense_amount': 5,
}, context=accr_context)
accreditation_pool.create_move(cr, uid, [accr_id], context=accr_context)
assert (riba_list.state == 'accredited'), ("RiBa list is not accredited, but %s" % riba_list.state)
# voucher payment
voucher_pool = self.pool['account.voucher']
from openerp import workflow
vals = {}
journal_id = voucher_pool.default_get(cr, uid, ['journal_id']).get('journal_id',None)
voucher = voucher_pool.recompute_voucher_lines(cr, uid, [], ref("base.res_partner_12"), journal_id, 450.0, ref('base.EUR'), 'receipt', False)
assert (voucher['value'].get('writeoff_amount') == 0.0), "Writeoff amount calculated by recompute_voucher_lines() is not 0.0"
res = voucher_pool.onchange_partner_id(cr, uid, [], ref("base.res_partner_12"), journal_id, 0.0, 1, ttype='receipt', date=False)
vals = {
'account_id': ref('account.cash'),
'amount': 450.0,
'company_id': ref('base.main_company'),
'journal_id': ref('account.bank_journal'),
'partner_id': ref('base.res_partner_12'),
'period_id': ref('account.period_8'),
'type': 'receipt',
}
if not res['value']['line_cr_ids']:
res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('sbf_effects'),}]
del(res['value']['line_cr_ids'][0]['date_original'])
del(res['value']['line_cr_ids'][0]['date_due'])
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 = voucher_pool.create(cr, uid, vals)
voucher_id = voucher_pool.browse(cr, uid, id)
assert (voucher_id.writeoff_amount == 0.0), "Writeoff amount is not 0.0"
assert (voucher_id.state=='draft'), "Voucher is not in draft state"
workflow.trg_validate(uid, 'account.voucher', voucher_id.id, 'proforma_voucher', cr)
assert (riba_list.state == 'paid'), ("RiBa list is not paid, but %s" % riba_list.state)
assert (len(riba_list.line_ids) == 1)
for riba_line in riba_list.line_ids:
assert(riba_line.state == 'paid'), ("RiBa line is not paid, but %s" % riba_line.state)
self.pool['account.journal'].write(cr, uid, [ref('account.bank_journal')], {'update_posted': True})
voucher_id.cancel_voucher()
assert (riba_list.state == 'accredited'), ("RiBa list is not accredited, but %s" % riba_list.state)
for riba_line in riba_list.line_ids:
assert(riba_line.state == 'accredited'), ("RiBa line is not accredited, but %s" % riba_line.state)
-
I test the report
-
!python {model: riba.issue, id: False }: |
import os
import openerp.report
from openerp import tools
data, format = openerp.report.render_report(self.env.cr, self.env.uid, [ref('riba_emissione_1')], 'l10n_it_ricevute_bancarie.distinta_qweb', {}, {})
if tools.config['test_report_directory']:
file(os.path.join(tools.config['test_report_directory'], 'riba-list.'+format), 'wb+').write(data)