|
|
@ -179,3 +179,71 @@ class TestAccountTaxBalance(TransactionCase): |
|
|
|
tax.refresh() |
|
|
|
self.assertEquals(tax.base_balance, 175.) |
|
|
|
self.assertEquals(tax.balance, 17.5) |
|
|
|
|
|
|
|
def test_receivable_move_type(self): |
|
|
|
""" |
|
|
|
Receivable moves linked to invoices are not considered as refunds. |
|
|
|
Also, receivable moves coming from refunds are considered as such. |
|
|
|
""" |
|
|
|
receivable_account = self.env['account.account'].search( |
|
|
|
[('user_type_id', '=', self.env.ref( |
|
|
|
'account.data_account_type_receivable' |
|
|
|
).id)], limit=1) |
|
|
|
invoice = self.env['account.invoice'].create({ |
|
|
|
'partner_id': self.env.ref('base.res_partner_2').id, |
|
|
|
'account_id': receivable_account.id, |
|
|
|
'type': 'out_invoice', |
|
|
|
'invoice_line_ids': [(0, 0, { |
|
|
|
'product_id': self.env.ref('product.product_product_4').id, |
|
|
|
'account_id': receivable_account.id, |
|
|
|
'quantity': 1.0, |
|
|
|
'price_unit': 100.0, |
|
|
|
'name': 'product that costs 100', |
|
|
|
}), (0, 0, { |
|
|
|
'product_id': self.env.ref('product.product_product_4').id, |
|
|
|
'account_id': receivable_account.id, |
|
|
|
'quantity': 1.0, |
|
|
|
'price_unit': -100.0, |
|
|
|
'name': 'product that costs -100', |
|
|
|
})] |
|
|
|
}) |
|
|
|
invoice.action_invoice_open() |
|
|
|
self.assertEqual(invoice.move_id.move_type, 'receivable') |
|
|
|
|
|
|
|
refund = invoice.refund() |
|
|
|
refund.action_invoice_open() |
|
|
|
self.assertEqual(refund.move_id.move_type, 'receivable_refund') |
|
|
|
|
|
|
|
def test_payable_move_type(self): |
|
|
|
""" |
|
|
|
Payable moves linked to bills are not considered as refunds. |
|
|
|
Also, payable moves coming from refunds are considered as such. |
|
|
|
""" |
|
|
|
payable_account = self.env['account.account'].search( |
|
|
|
[('user_type_id', '=', self.env.ref( |
|
|
|
'account.data_account_type_payable' |
|
|
|
).id)], limit=1) |
|
|
|
bill = self.env['account.invoice'].create({ |
|
|
|
'partner_id': self.env.ref('base.res_partner_2').id, |
|
|
|
'account_id': payable_account.id, |
|
|
|
'type': 'in_invoice', |
|
|
|
'invoice_line_ids': [(0, 0, { |
|
|
|
'product_id': self.env.ref('product.product_product_4').id, |
|
|
|
'account_id': payable_account.id, |
|
|
|
'quantity': 1.0, |
|
|
|
'price_unit': 100.0, |
|
|
|
'name': 'product that costs 100', |
|
|
|
}), (0, 0, { |
|
|
|
'product_id': self.env.ref('product.product_product_4').id, |
|
|
|
'account_id': payable_account.id, |
|
|
|
'quantity': 1.0, |
|
|
|
'price_unit': -100.0, |
|
|
|
'name': 'product that costs -100', |
|
|
|
})] |
|
|
|
}) |
|
|
|
bill.action_invoice_open() |
|
|
|
self.assertEqual(bill.move_id.move_type, 'payable') |
|
|
|
|
|
|
|
refund = bill.refund() |
|
|
|
refund.action_invoice_open() |
|
|
|
self.assertEqual(refund.move_id.move_type, 'payable_refund') |