2 I test sales payment with user who is accountant.
5 uid: 'res_users_account_voucher_user'
7 Create an invoice for the partner Seagate with amount 450.0
9 !record {model: account.invoice, id: account_invoice_0}:
10 account_id: account.a_recv
11 company_id: base.main_company
14 - account_id: account.a_sale
15 name: '[PCSC234] PC Assemble SC234'
18 product_id: product.product_product_3
19 uos_id: product.product_uom_unit
20 journal_id: account.sales_journal
21 partner_id: base.res_partner_19
24 I check that the customer invoice is in draft state
26 !assert {model: account.invoice, id: account_invoice_0}:
30 I make the invoice in Open state
32 !workflow {model: account.invoice, action: invoice_open, ref: account_invoice_0}
35 I check that a payment entry gets created in the account.move.line
37 !python {model: account.invoice}: |
38 acc_id=self.browse(cr, uid, ref("account_invoice_0"))
39 assert(acc_id.move_id)
42 I will create and post an account voucher of amount 450.0 for the partner Seagate.
44 !python {model: account.voucher}: |
46 journal_id = self.default_get(cr, uid, ['journal_id']).get('journal_id',None)
47 res = self.onchange_partner_id(cr, uid, [], ref("base.res_partner_19"), journal_id, 0.0, 1, ttype='receipt', date=False)
49 'account_id': ref('account.cash'),
51 'company_id': ref('base.main_company'),
52 'journal_id': ref('account.bank_journal'),
53 'partner_id': ref('base.res_partner_19'),
54 'period_id': ref('account.period_8'),
57 if not res['value']['line_cr_ids']:
58 res['value']['line_cr_ids'] = [{'type': 'cr', 'account_id': ref('account.a_recv'),}]
59 #clients aren't sending value of readonly fields in the view, and there is a good reason for that, so here the
60 #create should only use values of fields that are not readonly. That's why i'm removing some of these values
61 del(res['value']['line_cr_ids'][0]['date_original'])
62 del(res['value']['line_cr_ids'][0]['date_due'])
63 res['value']['line_cr_ids'][0]['amount'] = 450.0
64 vals['line_cr_ids'] = [(0,0,i) for i in res['value']['line_cr_ids']]
65 id = self.create(cr, uid, vals)
66 voucher_id = self.browse(cr, uid, id)
67 assert (voucher_id.state=='draft'), "Voucher is not in draft state"
68 self.signal_proforma_voucher(cr, uid, [voucher_id.id])
71 Finally i will Confirm the state of the invoice is paid
73 !assert {model: account.invoice, id: account_invoice_0}: