mirror of
https://github.com/bringout/oca-ocb-report.git
synced 2026-04-24 19:42:05 +02:00
19.0 vanilla
This commit is contained in:
parent
62d197ac8b
commit
184bb0e321
667 changed files with 691406 additions and 239886 deletions
|
|
@ -50,33 +50,33 @@ class TestCurrencyRates(TransactionCase):
|
|||
)
|
||||
|
||||
def test_currency_without_date(self):
|
||||
self.assertEqual(
|
||||
self.assertAlmostEqual(
|
||||
self.env["res.currency.rate"]._get_rate_for_spreadsheet("USD", "EUR"),
|
||||
CURRENT_EUR / CURRENT_USD,
|
||||
)
|
||||
self.assertEqual(
|
||||
self.assertAlmostEqual(
|
||||
self.env["res.currency.rate"]._get_rate_for_spreadsheet("EUR", "USD"),
|
||||
CURRENT_USD,
|
||||
)
|
||||
self.assertEqual(
|
||||
self.assertAlmostEqual(
|
||||
self.env["res.currency.rate"]._get_rate_for_spreadsheet("USD", "CAD"),
|
||||
CURRENT_CAD / CURRENT_USD,
|
||||
)
|
||||
|
||||
def test_currency_with_date(self):
|
||||
self.assertEqual(
|
||||
self.assertAlmostEqual(
|
||||
self.env["res.currency.rate"]._get_rate_for_spreadsheet(
|
||||
"USD", "EUR", "2021-11-11"
|
||||
),
|
||||
CURRENT_EUR / USD_11,
|
||||
)
|
||||
self.assertEqual(
|
||||
self.assertAlmostEqual(
|
||||
self.env["res.currency.rate"]._get_rate_for_spreadsheet(
|
||||
"EUR", "USD", "2021-11-11"
|
||||
),
|
||||
USD_11,
|
||||
)
|
||||
self.assertEqual(
|
||||
self.assertAlmostEqual(
|
||||
self.env["res.currency.rate"]._get_rate_for_spreadsheet(
|
||||
"USD", "CAD", "2021-11-11"
|
||||
),
|
||||
|
|
@ -109,8 +109,11 @@ class TestCurrencyRates(TransactionCase):
|
|||
|
||||
@freeze_time(fake_now_utc)
|
||||
def test_rate_by_tz(self):
|
||||
# after setting a timezone, reset the transaction to recomput env.tz
|
||||
cad = self.env.ref("base.CAD")
|
||||
self.env.user.tz = "UTC"
|
||||
self.env.flush_all()
|
||||
self.env.transaction.reset()
|
||||
self.env["res.currency.rate"].create(
|
||||
{
|
||||
"currency_id": cad.id,
|
||||
|
|
@ -118,19 +121,60 @@ class TestCurrencyRates(TransactionCase):
|
|||
}
|
||||
)
|
||||
self.env.user.tz = "Australia/Sydney"
|
||||
self.env.flush_all()
|
||||
self.env.transaction.reset()
|
||||
self.env["res.currency.rate"].create(
|
||||
{
|
||||
"currency_id": cad.id,
|
||||
"rate": CAD_AUS,
|
||||
}
|
||||
)
|
||||
self.assertEqual(
|
||||
self.assertAlmostEqual(
|
||||
self.env["res.currency.rate"]._get_rate_for_spreadsheet("CAD", "EUR"),
|
||||
CURRENT_EUR / CAD_AUS,
|
||||
)
|
||||
self.assertEqual(
|
||||
self.assertAlmostEqual(
|
||||
self.env["res.currency.rate"]
|
||||
.with_context(tz="UTC")
|
||||
._get_rate_for_spreadsheet("CAD", "EUR"),
|
||||
CURRENT_EUR / CAD_UTC,
|
||||
)
|
||||
|
||||
def test_currency_with_company_id(self):
|
||||
usd = self.env.ref("base.USD")
|
||||
cad = self.env.ref("base.CAD")
|
||||
company_eur = self.env["res.company"].create({"currency_id": usd.id, "name": "EUR"})
|
||||
company_cad = self.env["res.company"].create({"currency_id": cad.id, "name": "GBP"})
|
||||
self.env["res.currency.rate"].create(
|
||||
[
|
||||
{
|
||||
"currency_id": usd.id,
|
||||
"rate": 0.5,
|
||||
"company_id": company_eur.id,
|
||||
},
|
||||
{
|
||||
"currency_id": usd.id,
|
||||
"rate": 0.8,
|
||||
"company_id": company_cad.id,
|
||||
},
|
||||
]
|
||||
)
|
||||
|
||||
self.assertAlmostEqual(
|
||||
self.env["res.currency.rate"].with_company(company_eur)._get_rate_for_spreadsheet(
|
||||
"USD", "EUR", None, None
|
||||
),
|
||||
CURRENT_EUR / 0.5,
|
||||
)
|
||||
self.assertAlmostEqual(
|
||||
self.env["res.currency.rate"]._get_rate_for_spreadsheet(
|
||||
"USD", "EUR", None, company_eur.id
|
||||
),
|
||||
CURRENT_EUR / 0.5,
|
||||
)
|
||||
self.assertAlmostEqual(
|
||||
self.env["res.currency.rate"]._get_rate_for_spreadsheet(
|
||||
"USD", "CAD", None, company_cad.id
|
||||
),
|
||||
CURRENT_EUR / 0.8,
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue