Initial commit
This commit is contained in:
128
Fusion Accounting/tests/test_account_fiscal_year.py
Normal file
128
Fusion Accounting/tests/test_account_fiscal_year.py
Normal file
@@ -0,0 +1,128 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from odoo.addons.account.tests.common import AccountTestInvoicingCommon
|
||||
from odoo.tests import tagged
|
||||
from odoo import fields
|
||||
|
||||
|
||||
@tagged('post_install', '-at_install')
|
||||
class TestFiscalPosition(AccountTestInvoicingCommon):
|
||||
|
||||
def check_compute_fiscal_year(self, company, date, expected_date_from, expected_date_to):
|
||||
'''Compute the fiscal year at a certain date for the company passed as parameter.
|
||||
Then, check if the result matches the 'expected_date_from'/'expected_date_to' dates.
|
||||
|
||||
:param company: The company.
|
||||
:param date: The date belonging to the fiscal year.
|
||||
:param expected_date_from: The expected date_from after computation.
|
||||
:param expected_date_to: The expected date_to after computation.
|
||||
'''
|
||||
current_date = fields.Date.from_string(date)
|
||||
res = company.compute_fiscalyear_dates(current_date)
|
||||
self.assertEqual(res['date_from'], fields.Date.from_string(expected_date_from))
|
||||
self.assertEqual(res['date_to'], fields.Date.from_string(expected_date_to))
|
||||
|
||||
def test_default_fiscal_year(self):
|
||||
'''Basic case with a fiscal year xxxx-01-01 - xxxx-12-31.'''
|
||||
company = self.env.company
|
||||
company.fiscalyear_last_day = 31
|
||||
company.fiscalyear_last_month = '12'
|
||||
|
||||
self.check_compute_fiscal_year(
|
||||
company,
|
||||
'2017-12-31',
|
||||
'2017-01-01',
|
||||
'2017-12-31',
|
||||
)
|
||||
|
||||
self.check_compute_fiscal_year(
|
||||
company,
|
||||
'2017-01-01',
|
||||
'2017-01-01',
|
||||
'2017-12-31',
|
||||
)
|
||||
|
||||
def test_leap_fiscal_year_1(self):
|
||||
'''Case with a leap year ending the 29 February.'''
|
||||
company = self.env.company
|
||||
company.fiscalyear_last_day = 29
|
||||
company.fiscalyear_last_month = '2'
|
||||
|
||||
self.check_compute_fiscal_year(
|
||||
company,
|
||||
'2016-02-29',
|
||||
'2015-03-01',
|
||||
'2016-02-29',
|
||||
)
|
||||
|
||||
self.check_compute_fiscal_year(
|
||||
company,
|
||||
'2015-03-01',
|
||||
'2015-03-01',
|
||||
'2016-02-29',
|
||||
)
|
||||
|
||||
def test_leap_fiscal_year_2(self):
|
||||
'''Case with a leap year ending the 28 February.'''
|
||||
company = self.env.company
|
||||
company.fiscalyear_last_day = 28
|
||||
company.fiscalyear_last_month = '2'
|
||||
|
||||
self.check_compute_fiscal_year(
|
||||
company,
|
||||
'2016-02-29',
|
||||
'2015-03-01',
|
||||
'2016-02-29',
|
||||
)
|
||||
|
||||
self.check_compute_fiscal_year(
|
||||
company,
|
||||
'2016-03-01',
|
||||
'2016-03-01',
|
||||
'2017-02-28',
|
||||
)
|
||||
|
||||
def test_custom_fiscal_year(self):
|
||||
'''Case with custom fiscal years.'''
|
||||
company = self.env.company
|
||||
company.fiscalyear_last_day = 31
|
||||
company.fiscalyear_last_month = '12'
|
||||
|
||||
# Create custom fiscal year covering the 6 first months of 2017.
|
||||
self.env['account.fiscal.year'].create({
|
||||
'name': '6 month 2017',
|
||||
'date_from': '2017-01-01',
|
||||
'date_to': '2017-05-31',
|
||||
'company_id': company.id,
|
||||
})
|
||||
|
||||
# Check before the custom fiscal year).
|
||||
self.check_compute_fiscal_year(
|
||||
company,
|
||||
'2017-02-01',
|
||||
'2017-01-01',
|
||||
'2017-05-31',
|
||||
)
|
||||
|
||||
# Check after the custom fiscal year.
|
||||
self.check_compute_fiscal_year(
|
||||
company,
|
||||
'2017-11-01',
|
||||
'2017-06-01',
|
||||
'2017-12-31',
|
||||
)
|
||||
|
||||
# Create custom fiscal year covering the 3 last months of 2017.
|
||||
self.env['account.fiscal.year'].create({
|
||||
'name': 'last 3 month 2017',
|
||||
'date_from': '2017-10-01',
|
||||
'date_to': '2017-12-31',
|
||||
'company_id': company.id,
|
||||
})
|
||||
|
||||
# Check inside the custom fiscal years.
|
||||
self.check_compute_fiscal_year(
|
||||
company,
|
||||
'2017-07-01',
|
||||
'2017-06-01',
|
||||
'2017-09-30',
|
||||
)
|
||||
Reference in New Issue
Block a user