mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[IMP] - A canceled contract line can't be set to auto-renew
[REF] Contract: pep8 [IMP] Contract: update USAGE section of README [IMP]call onchange_is_auto_renew when changing template
This commit is contained in:
committed by
Jean-Charles Drubay
parent
280727e5cf
commit
1250997cd6
@@ -1160,8 +1160,17 @@ class TestContract(TestContractBase):
|
||||
)
|
||||
|
||||
def test_cancel(self):
|
||||
self.acct_line.write(
|
||||
{
|
||||
'date_end': self.today + relativedelta(months=5),
|
||||
'is_auto_renew': True,
|
||||
}
|
||||
)
|
||||
self.acct_line.cancel()
|
||||
self.assertTrue(self.acct_line.is_canceled)
|
||||
self.assertFalse(self.acct_line.is_auto_renew)
|
||||
with self.assertRaises(ValidationError):
|
||||
self.acct_line.is_auto_renew = True
|
||||
self.acct_line.uncancel(self.today)
|
||||
self.assertFalse(self.acct_line.is_canceled)
|
||||
|
||||
@@ -1330,24 +1339,27 @@ class TestContract(TestContractBase):
|
||||
self.acct_line.recurring_rule_type = 'monthlylastday'
|
||||
self.acct_line.date_end = '2018-03-15'
|
||||
self.acct_line._onchange_date_start()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-01-05'))
|
||||
self.assertEqual(last, to_date('2018-01-31'))
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-02-01'))
|
||||
self.assertEqual(last, to_date('2018-02-28'))
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-03-01'))
|
||||
self.assertEqual(last, to_date('2018-03-15'))
|
||||
self.acct_line.manual_renew_needed = True
|
||||
@@ -1359,17 +1371,19 @@ class TestContract(TestContractBase):
|
||||
self.acct_line.date_end = '2018-08-15'
|
||||
self.acct_line._onchange_date_start()
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-02-05'))
|
||||
self.assertEqual(last, to_date('2018-03-04'))
|
||||
self.acct_line.recurring_next_date = '2018-06-05'
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-02-05'))
|
||||
self.assertEqual(last, to_date('2018-07-04'))
|
||||
|
||||
@@ -1380,17 +1394,19 @@ class TestContract(TestContractBase):
|
||||
self.acct_line.date_end = '2018-08-15'
|
||||
self.acct_line._onchange_date_start()
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-02-05'))
|
||||
self.assertEqual(last, to_date('2018-03-04'))
|
||||
self.acct_line.recurring_next_date = '2018-06-05'
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-02-05'))
|
||||
self.assertEqual(last, to_date('2018-06-04'))
|
||||
|
||||
@@ -1400,24 +1416,27 @@ class TestContract(TestContractBase):
|
||||
self.acct_line.recurring_rule_type = 'monthly'
|
||||
self.acct_line.date_end = '2018-03-15'
|
||||
self.acct_line._onchange_date_start()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-01-05'))
|
||||
self.assertEqual(last, to_date('2018-02-04'))
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-02-05'))
|
||||
self.assertEqual(last, to_date('2018-03-04'))
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-03-05'))
|
||||
self.assertEqual(last, to_date('2018-03-15'))
|
||||
|
||||
@@ -1427,24 +1446,27 @@ class TestContract(TestContractBase):
|
||||
self.acct_line.recurring_rule_type = 'monthly'
|
||||
self.acct_line.date_end = '2018-03-15'
|
||||
self.acct_line._onchange_date_start()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-01-05'))
|
||||
self.assertEqual(last, to_date('2018-02-04'))
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-02-05'))
|
||||
self.assertEqual(last, to_date('2018-03-04'))
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-03-05'))
|
||||
self.assertEqual(last, to_date('2018-03-15'))
|
||||
|
||||
@@ -1454,24 +1476,27 @@ class TestContract(TestContractBase):
|
||||
self.acct_line.recurring_rule_type = 'yearly'
|
||||
self.acct_line.date_end = '2020-03-15'
|
||||
self.acct_line._onchange_date_start()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-01-05'))
|
||||
self.assertEqual(last, to_date('2019-01-04'))
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2019-01-05'))
|
||||
self.assertEqual(last, to_date('2020-01-04'))
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2020-01-05'))
|
||||
self.assertEqual(last, to_date('2020-03-15'))
|
||||
|
||||
@@ -1481,24 +1506,27 @@ class TestContract(TestContractBase):
|
||||
self.acct_line.recurring_rule_type = 'yearly'
|
||||
self.acct_line.date_end = '2020-03-15'
|
||||
self.acct_line._onchange_date_start()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2018-01-05'))
|
||||
self.assertEqual(last, to_date('2019-01-04'))
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2019-01-05'))
|
||||
self.assertEqual(last, to_date('2020-01-04'))
|
||||
self.contract.recurring_create_invoice()
|
||||
first, last, recurring_next_date = self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
first, last, recurring_next_date = \
|
||||
self.acct_line._get_period_to_invoice(
|
||||
self.acct_line.last_date_invoiced,
|
||||
self.acct_line.recurring_next_date,
|
||||
)
|
||||
self.assertEqual(first, to_date('2020-01-05'))
|
||||
self.assertEqual(last, to_date('2020-03-15'))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user