2 changed files with 123 additions and 0 deletions
-
23partner_credit_limit_account/tests/__init__.py
-
100partner_credit_limit_account/tests/test_account_credit_limit.py
@ -0,0 +1,23 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# OpenERP, Open Source Management Solution |
||||
|
# This module copyright (C) 2015 UAB Versada |
||||
|
# (<http://www.versada.lt>). |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from . import test_account_credit_limit |
@ -0,0 +1,100 @@ |
|||||
|
# -*- encoding: utf-8 -*- |
||||
|
############################################################################## |
||||
|
# |
||||
|
# OpenERP, Open Source Management Solution |
||||
|
# This module copyright (C) 2015 UAB Versada |
||||
|
# (<http://www.versada.lt>). |
||||
|
# |
||||
|
# This program is free software: you can redistribute it and/or modify |
||||
|
# it under the terms of the GNU Affero General Public License as |
||||
|
# published by the Free Software Foundation, either version 3 of the |
||||
|
# License, or (at your option) any later version. |
||||
|
# |
||||
|
# This program is distributed in the hope that it will be useful, |
||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
|
# GNU Affero General Public License for more details. |
||||
|
# |
||||
|
# You should have received a copy of the GNU Affero General Public License |
||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
||||
|
# |
||||
|
############################################################################## |
||||
|
|
||||
|
from openerp.tests import common |
||||
|
from openerp.exceptions import ValidationError |
||||
|
|
||||
|
|
||||
|
class TestCreditLimit(common.TransactionCase): |
||||
|
|
||||
|
def setUp(self): |
||||
|
|
||||
|
super(TestCreditLimit, self).setUp() |
||||
|
|
||||
|
self.partner_model = self.env['res.partner'] |
||||
|
self.move_model = self.env['account.move'] |
||||
|
self.sales_journal_id = self.env['account.journal'].search( |
||||
|
[('type', '=', 'sale')], limit=1) |
||||
|
|
||||
|
self.credit_account_id = self.env['account.account'].search( |
||||
|
[('type', '=', 'other')], limit=1).id |
||||
|
|
||||
|
self.partner_company = self.partner_model.create({ |
||||
|
'name': 'Test Company', |
||||
|
'is_company': True, |
||||
|
'credit_limit': 100, |
||||
|
}) |
||||
|
|
||||
|
self.partner_company_contact = self.partner_model.create({ |
||||
|
'name': 'Test Contact', |
||||
|
'is_company': False, |
||||
|
'parent_id': self.partner_company.id, |
||||
|
}) |
||||
|
|
||||
|
self.line_id_1 = [(0, 0, { |
||||
|
'name': 'Debit Line', |
||||
|
'partner_id': self.partner_company.id, |
||||
|
'account_id': self.partner_company.property_account_receivable.id, |
||||
|
'debit': 99}), |
||||
|
(0, 0, { |
||||
|
'name': 'Debit Line', |
||||
|
'partner_id': self.partner_company.id, |
||||
|
'account_id': self.credit_account_id, |
||||
|
'credit': 99}), |
||||
|
] |
||||
|
|
||||
|
self.line_id_2 = [(0, 0, { |
||||
|
'name': 'Debit Line', |
||||
|
'partner_id': self.partner_company.id, |
||||
|
'account_id': self.partner_company.property_account_receivable.id, |
||||
|
'debit': 101}), |
||||
|
(0, 0, { |
||||
|
'name': 'Debit Line', |
||||
|
'partner_id': self.partner_company.id, |
||||
|
'account_id': self.credit_account_id, |
||||
|
'credit': 101}), |
||||
|
] |
||||
|
|
||||
|
def test_credit_limit_validates(self): |
||||
|
|
||||
|
self.assertTrue( |
||||
|
self.move_model.create({ |
||||
|
'journal_id': self.sales_journal_id.id, |
||||
|
'line_id': self.line_id_1, |
||||
|
'state': 'draft' |
||||
|
}).validate() |
||||
|
) |
||||
|
|
||||
|
def test_credit_limit_not_validates(self): |
||||
|
|
||||
|
self.move_model.create({ |
||||
|
'journal_id': self.sales_journal_id.id, |
||||
|
'line_id': self.line_id_1, |
||||
|
'state': 'draft' |
||||
|
}).validate() |
||||
|
|
||||
|
with self.assertRaises(ValidationError): |
||||
|
self.move_model.create({ |
||||
|
'journal_id': self.sales_journal_id.id, |
||||
|
'line_id': self.line_id_2, |
||||
|
'state': 'draft' |
||||
|
}).validate() |
Write
Preview
Loading…
Cancel
Save
Reference in new issue