Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
3
account_move_fiscal_year/tests/__init__.py
Executable file
3
account_move_fiscal_year/tests/__init__.py
Executable file
@@ -0,0 +1,3 @@
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from . import test_account_move_fiscal_year
|
||||
167
account_move_fiscal_year/tests/test_account_move_fiscal_year.py
Executable file
167
account_move_fiscal_year/tests/test_account_move_fiscal_year.py
Executable file
@@ -0,0 +1,167 @@
|
||||
# Copyright 2017 ACSONE SA/NV
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo.fields import Date
|
||||
from odoo.tests.common import TransactionCase
|
||||
|
||||
|
||||
class TestAccountMoveFiscalYear(TransactionCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.AccountObj = cls.env["account.account"]
|
||||
cls.AccountJournalObj = cls.env["account.journal"]
|
||||
cls.AccountMoveObj = cls.env["account.move"]
|
||||
cls.DateRangeObj = cls.env["account.fiscal.year"]
|
||||
|
||||
cls.bank_journal = cls.AccountJournalObj.search(
|
||||
[("type", "=", "bank")], limit=1
|
||||
)
|
||||
|
||||
cls.account_recv = cls.AccountObj.create(
|
||||
{
|
||||
"code": "RECVDR",
|
||||
"name": "Receivable (test)",
|
||||
"reconcile": True,
|
||||
"account_type": "asset_receivable",
|
||||
}
|
||||
)
|
||||
cls.account_sale = cls.AccountObj.create(
|
||||
{
|
||||
"code": "SALEDR",
|
||||
"name": "Receivable (sale)",
|
||||
"reconcile": True,
|
||||
"account_type": "income",
|
||||
}
|
||||
)
|
||||
|
||||
cls.date_range_2017 = cls.DateRangeObj.create(
|
||||
{
|
||||
"name": "2017",
|
||||
"date_from": "2017-01-01",
|
||||
"date_to": "2017-12-31",
|
||||
}
|
||||
)
|
||||
|
||||
cls.date_range_2018 = cls.DateRangeObj.create(
|
||||
{
|
||||
"name": "2018",
|
||||
"date_from": "2018-01-01",
|
||||
"date_to": "2018-12-31",
|
||||
}
|
||||
)
|
||||
|
||||
def create_account_move(self, date_str):
|
||||
return self.AccountMoveObj.create(
|
||||
{
|
||||
"journal_id": self.bank_journal.id,
|
||||
"date": date_str,
|
||||
"line_ids": [
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"name": "Debit",
|
||||
"debit": 1000,
|
||||
"account_id": self.account_recv.id,
|
||||
},
|
||||
),
|
||||
(
|
||||
0,
|
||||
0,
|
||||
{
|
||||
"name": "Credit",
|
||||
"credit": 1000,
|
||||
"account_id": self.account_sale.id,
|
||||
},
|
||||
),
|
||||
],
|
||||
}
|
||||
)
|
||||
|
||||
def test_01_account_move_date_range_fy_id_compute(self):
|
||||
january_1st = Date.to_date("2017-01-01")
|
||||
move = self.create_account_move(january_1st)
|
||||
|
||||
self.assertEqual(
|
||||
move.date_range_fy_id,
|
||||
self.date_range_2017,
|
||||
msg="Move period should be 2017",
|
||||
)
|
||||
self.assertTrue(
|
||||
all(
|
||||
[
|
||||
line.date_range_fy_id == self.date_range_2017
|
||||
for line in move.line_ids
|
||||
]
|
||||
),
|
||||
msg="All lines period should be 2017",
|
||||
)
|
||||
|
||||
january_2019 = Date.to_date("2019-01-01")
|
||||
move = self.create_account_move(january_2019)
|
||||
self.assertFalse(
|
||||
bool(move.date_range_fy_id), msg="Move shouldn't have any date range"
|
||||
)
|
||||
|
||||
def test_02_account_move_date_range_fy_id_search(self):
|
||||
january_2017 = Date.to_date("2017-01-01")
|
||||
january_2018 = Date.to_date("2018-01-01")
|
||||
january_2019 = Date.to_date("2019-01-01")
|
||||
|
||||
move_2017 = self.create_account_move(january_2017)
|
||||
move_2018 = self.create_account_move(january_2018)
|
||||
move_2019 = self.create_account_move(january_2019)
|
||||
|
||||
moves = self.AccountMoveObj.search(
|
||||
[
|
||||
("date_range_fy_id", "ilike", "2017"),
|
||||
]
|
||||
)
|
||||
|
||||
self.assertTrue(
|
||||
all(
|
||||
[
|
||||
move_2017 in moves,
|
||||
move_2018 not in moves,
|
||||
move_2019 not in moves,
|
||||
]
|
||||
),
|
||||
msg="There should be only moves in 2017",
|
||||
)
|
||||
|
||||
moves = self.AccountMoveObj.search(
|
||||
[
|
||||
("date_range_fy_id", "=", self.date_range_2017.id),
|
||||
]
|
||||
)
|
||||
|
||||
self.assertTrue(
|
||||
all(
|
||||
[
|
||||
move_2017 in moves,
|
||||
move_2018 not in moves,
|
||||
move_2019 not in moves,
|
||||
]
|
||||
)
|
||||
)
|
||||
|
||||
moves = self.AccountMoveObj.search(
|
||||
[
|
||||
(
|
||||
"date_range_fy_id",
|
||||
"in",
|
||||
(self.date_range_2017.id, self.date_range_2018.id),
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
self.assertTrue(
|
||||
all(
|
||||
[
|
||||
move_2017 in moves,
|
||||
move_2018 in moves,
|
||||
move_2019 not in moves,
|
||||
]
|
||||
)
|
||||
)
|
||||
Reference in New Issue
Block a user