mirror of
https://github.com/OCA/account-reconcile.git
synced 2025-01-20 12:27:39 +02:00
@@ -37,6 +37,32 @@ class TestScenarioReconcile(TestAccountReconciliationCommon):
|
|||||||
default_vals.update(values)
|
default_vals.update(values)
|
||||||
acs_ids = cls.acs_model.create(default_vals)
|
acs_ids = cls.acs_model.create(default_vals)
|
||||||
|
|
||||||
|
def create_currency_rate(self, name, currency, company, rate):
|
||||||
|
currency_rate = (
|
||||||
|
self.env["res.currency.rate"]
|
||||||
|
.sudo()
|
||||||
|
.search(
|
||||||
|
[
|
||||||
|
("currency_id", "=", currency),
|
||||||
|
("company_id", "=", company),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
.filtered(lambda r: r.name == name)
|
||||||
|
)
|
||||||
|
if not currency_rate:
|
||||||
|
# create currency rate
|
||||||
|
self.env["res.currency.rate"].sudo().create(
|
||||||
|
{
|
||||||
|
"name": name,
|
||||||
|
"currency_id": currency,
|
||||||
|
"rate": rate,
|
||||||
|
"company_id": company,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
currency_rate = fields.first(currency_rate)
|
||||||
|
currency_rate.rate = rate
|
||||||
|
|
||||||
def test_scenario_reconcile(self):
|
def test_scenario_reconcile(self):
|
||||||
invoice = self.create_invoice()
|
invoice = self.create_invoice()
|
||||||
self.assertEqual("posted", invoice.state)
|
self.assertEqual("posted", invoice.state)
|
||||||
@@ -68,29 +94,10 @@ class TestScenarioReconcile(TestAccountReconciliationCommon):
|
|||||||
self.assertEqual("paid", invoice.payment_state)
|
self.assertEqual("paid", invoice.payment_state)
|
||||||
|
|
||||||
def test_scenario_reconcile_currency(self):
|
def test_scenario_reconcile_currency(self):
|
||||||
currency_rate = (
|
rate_date = fields.Date.today()
|
||||||
self.env["res.currency.rate"]
|
self.create_currency_rate(
|
||||||
.sudo()
|
rate_date, self.ref("base.USD"), self.ref("base.main_company"), 1.5
|
||||||
.search(
|
|
||||||
[
|
|
||||||
("currency_id", "=", self.ref("base.USD")),
|
|
||||||
("company_id", "=", self.ref("base.main_company")),
|
|
||||||
]
|
|
||||||
)
|
|
||||||
.filtered(lambda r: r.name == fields.Date.today())
|
|
||||||
)
|
)
|
||||||
if not currency_rate:
|
|
||||||
# create currency rate
|
|
||||||
self.env["res.currency.rate"].create(
|
|
||||||
{
|
|
||||||
"name": fields.Date.today(),
|
|
||||||
"currency_id": self.ref("base.USD"),
|
|
||||||
"rate": 1.5,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
currency_rate = fields.first(currency_rate)
|
|
||||||
currency_rate.rate = 1.5
|
|
||||||
# create invoice
|
# create invoice
|
||||||
invoice = self._create_invoice(
|
invoice = self._create_invoice(
|
||||||
currency_id=self.ref("base.USD"),
|
currency_id=self.ref("base.USD"),
|
||||||
@@ -98,13 +105,9 @@ class TestScenarioReconcile(TestAccountReconciliationCommon):
|
|||||||
auto_validate=True,
|
auto_validate=True,
|
||||||
)
|
)
|
||||||
self.assertEqual("posted", invoice.state)
|
self.assertEqual("posted", invoice.state)
|
||||||
|
rate_date = fields.Date.today() - timedelta(days=3)
|
||||||
self.env["res.currency.rate"].create(
|
self.create_currency_rate(
|
||||||
{
|
rate_date, self.ref("base.USD"), self.ref("base.main_company"), 2
|
||||||
"name": fields.Date.today() - timedelta(days=3),
|
|
||||||
"currency_id": self.ref("base.USD"),
|
|
||||||
"rate": 2,
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
receivable_account_id = invoice.partner_id.property_account_receivable_id.id
|
receivable_account_id = invoice.partner_id.property_account_receivable_id.id
|
||||||
# create payment
|
# create payment
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class TestScenarioReconcileAsJob(TestScenarioReconcile):
|
|||||||
mass_rec.run_reconcile()
|
mass_rec.run_reconcile()
|
||||||
trap.assert_jobs_count(1)
|
trap.assert_jobs_count(1)
|
||||||
trap.assert_enqueued_job(
|
trap.assert_enqueued_job(
|
||||||
self.env["account.mass.reconcile"].reconcile_as_job,
|
mass_rec.reconcile_as_job,
|
||||||
args=(),
|
args=(),
|
||||||
)
|
)
|
||||||
job = trap.enqueued_jobs[0]
|
job = trap.enqueued_jobs[0]
|
||||||
@@ -90,7 +90,7 @@ class TestScenarioReconcileAsJob(TestScenarioReconcile):
|
|||||||
mass_rec.run_reconcile()
|
mass_rec.run_reconcile()
|
||||||
trap.assert_jobs_count(1)
|
trap.assert_jobs_count(1)
|
||||||
trap.assert_enqueued_job(
|
trap.assert_enqueued_job(
|
||||||
self.env["account.mass.reconcile"].reconcile_as_job,
|
mass_rec.reconcile_as_job,
|
||||||
args=(),
|
args=(),
|
||||||
)
|
)
|
||||||
job = trap.enqueued_jobs[0]
|
job = trap.enqueued_jobs[0]
|
||||||
|
|||||||
Reference in New Issue
Block a user