Skip to content

Commit

Permalink
[IMP] account: better fix than edbd0df for reconciliation test
Browse files Browse the repository at this point in the history
Revert edbd0df
Instead of removing the demo data (demo data is our friend), make the test more
specific, adding a date to match the rate of 1.5289 all year long.
  • Loading branch information
mart-e committed Jan 5, 2015
1 parent 33c8aae commit fefc13a
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 12 deletions.
35 changes: 23 additions & 12 deletions addons/account/tests/test_reconciliation.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from openerp.tests.common import TransactionCase
import time

class TestReconciliation(TransactionCase):
"""Tests for reconciliation (account.tax)
Expand Down Expand Up @@ -36,7 +37,8 @@ def test_balanced_customer_invoice(self):
'currency_id': self.currency_swiss_id,
'name': 'invoice to client',
'account_id': self.account_rcv_id,
'type': 'out_invoice'
'type': 'out_invoice',
'date_invoice': time.strftime('%Y')+'-07-01', # to use USD rate rateUSDbis
})
self.account_invoice_line_model.create(cr, uid, {'product_id': self.product_id,
'quantity': 1,
Expand All @@ -49,14 +51,18 @@ def test_balanced_customer_invoice(self):
invoice_record = self.account_invoice_model.browse(cr, uid, [invoice_id])

#we pay half of it on a journal with currency in dollar (bank statement)
bank_stmt_id = self.acc_bank_stmt_model.create(cr, uid, {'journal_id': self.bank_journal_usd_id,})
bank_stmt_id = self.acc_bank_stmt_model.create(cr, uid, {
'journal_id': self.bank_journal_usd_id,
'date': time.strftime('%Y')+'-07-15',
})

bank_stmt_line_id = self.acc_bank_stmt_line_model.create(cr, uid, {'name': 'half payment',
'statement_id': bank_stmt_id,
'partner_id': self.partner_agrolait_id,
'amount': 42,
'amount_currency': 50,
'currency_id': self.currency_swiss_id,})
'currency_id': self.currency_swiss_id,
'date': time.strftime('%Y')+'-07-15',})

#reconcile the payment with the invoice
for l in invoice_record.move_id.line_id:
Expand All @@ -73,21 +79,21 @@ def test_balanced_customer_invoice(self):
checked_line = 0
for move_line in move_line_ids:
if move_line.account_id.id == self.account_usd_id:
self.assertAlmostEquals(move_line.debit, 32.73)
self.assertEquals(move_line.debit, 27.47)
self.assertEquals(move_line.credit, 0.0)
self.assertEquals(move_line.amount_currency, 42)
self.assertEquals(move_line.currency_id.id, self.currency_usd_id)
checked_line += 1
continue
if move_line.account_id.id == self.account_rcv_id:
self.assertEquals(move_line.debit, 0.0)
self.assertAlmostEquals(move_line.credit, 38.21)
self.assertEquals(move_line.credit, 38.21)
self.assertEquals(move_line.amount_currency, -50)
self.assertEquals(move_line.currency_id.id, self.currency_swiss_id)
checked_line += 1
continue
if move_line.account_id.id == self.account_rsa_id:
self.assertAlmostEquals(move_line.debit, 5.48)
self.assertEquals(move_line.debit, 10.74)
self.assertEquals(move_line.credit, 0.0)
checked_line += 1
continue
Expand All @@ -103,7 +109,8 @@ def test_balanced_supplier_invoice(self):
'currency_id': self.currency_swiss_id,
'name': 'invoice to client',
'account_id': self.account_rcv_id,
'type': 'in_invoice'
'type': 'in_invoice',
'date_invoice': time.strftime('%Y')+'-07-01',
})
self.account_invoice_line_model.create(cr, uid, {'product_id': self.product_id,
'quantity': 1,
Expand All @@ -116,14 +123,18 @@ def test_balanced_supplier_invoice(self):
invoice_record = self.account_invoice_model.browse(cr, uid, [invoice_id])

#we pay half of it on a journal with currency in dollar (bank statement)
bank_stmt_id = self.acc_bank_stmt_model.create(cr, uid, {'journal_id': self.bank_journal_usd_id,})
bank_stmt_id = self.acc_bank_stmt_model.create(cr, uid, {
'journal_id': self.bank_journal_usd_id,
'date': time.strftime('%Y')+'-07-15',
})

bank_stmt_line_id = self.acc_bank_stmt_line_model.create(cr, uid, {'name': 'half payment',
'statement_id': bank_stmt_id,
'partner_id': self.partner_agrolait_id,
'amount': -42,
'amount_currency': -50,
'currency_id': self.currency_swiss_id,})
'currency_id': self.currency_swiss_id,
'date': time.strftime('%Y')+'-07-15',})

#reconcile the payment with the invoice
for l in invoice_record.move_id.line_id:
Expand All @@ -141,21 +152,21 @@ def test_balanced_supplier_invoice(self):
for move_line in move_line_ids:
if move_line.account_id.id == self.account_usd_id:
self.assertEquals(move_line.debit, 0.0)
self.assertAlmostEquals(move_line.credit, 32.73)
self.assertEquals(move_line.credit, 27.47)
self.assertEquals(move_line.amount_currency, -42)
self.assertEquals(move_line.currency_id.id, self.currency_usd_id)
checked_line += 1
continue
if move_line.account_id.id == self.account_rcv_id:
self.assertAlmostEquals(move_line.debit, 38.21)
self.assertEquals(move_line.debit, 38.21)
self.assertEquals(move_line.credit, 0.0)
self.assertEquals(move_line.amount_currency, 50)
self.assertEquals(move_line.currency_id.id, self.currency_swiss_id)
checked_line += 1
continue
if move_line.account_id.id == self.account_rsa_id:
self.assertEquals(move_line.debit, 0.0)
self.assertAlmostEquals(move_line.credit, 5.48)
self.assertEquals(move_line.credit, 10.74)
checked_line += 1
continue
self.assertEquals(checked_line, 3)
Expand Down
7 changes: 7 additions & 0 deletions openerp/addons/base/base_demo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,12 @@ Mr Demo</field>
<field name="image" type="base64" file="base/static/img/partner_root-image.jpg"/>
</record>

<!-- new rate for demo transactions in multi currency -->
<record id="rateUSDbis" model="res.currency.rate">
<field name="rate">1.5289</field>
<field name="currency_id" ref="USD"/>
<field eval="time.strftime('%Y-06-06')" name="name"/>
</record>

</data>
</openerp>

0 comments on commit fefc13a

Please sign in to comment.