44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
# Copyright 2017 ACSONE SA/NV
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
from odoo import fields
|
|
from odoo.exceptions import UserError
|
|
from odoo.tests.common import TransactionCase
|
|
|
|
|
|
class TestAccountLockDateUpdate(TransactionCase):
|
|
def setUp(self):
|
|
super().setUp()
|
|
self.company = self.env.ref("base.main_company")
|
|
self.demo_user = self.env.ref("base.user_demo")
|
|
self.adviser_group = self.env.ref("account.group_account_manager")
|
|
self.UpdateLockDateUpdateObj = self.env["account.update.lock_date"].with_user(
|
|
self.demo_user
|
|
)
|
|
|
|
def create_account_lock_date_update(self):
|
|
return self.UpdateLockDateUpdateObj.create({"company_id": self.company.id})
|
|
|
|
def test_01_update_without_access(self):
|
|
wizard = self.create_account_lock_date_update()
|
|
wizard.write(
|
|
{"period_lock_date": "2000-01-01", "fiscalyear_lock_date": "2000-01-01"}
|
|
)
|
|
self.demo_user.write({"groups_id": [(3, self.adviser_group.id)]})
|
|
with self.assertRaises(UserError):
|
|
wizard.with_user(self.demo_user.id).execute()
|
|
|
|
def test_02_update_with_access(self):
|
|
wizard = self.create_account_lock_date_update()
|
|
wizard.write(
|
|
{"period_lock_date": "2000-02-01", "fiscalyear_lock_date": "2000-01-01"}
|
|
)
|
|
self.demo_user.write({"groups_id": [(4, self.adviser_group.id)]})
|
|
wizard.with_user(self.demo_user.id).execute()
|
|
self.assertEqual(
|
|
fields.Date.to_string(self.company.period_lock_date), "2000-02-01"
|
|
)
|
|
self.assertEqual(
|
|
fields.Date.to_string(self.company.fiscalyear_lock_date), "2000-01-01"
|
|
)
|