From 6a78c9d72d123ff0f7b18e9e0b02dbd736bba365 Mon Sep 17 00:00:00 2001 From: Adrien Peiffer Date: Mon, 6 Oct 2014 16:56:33 +0200 Subject: [PATCH] [ADD] Add test for account banking payment blocking --- account_banking_payment_blocking/__init__.py | 1 + .../tests/__init__.py | 34 +++++++ .../test_account_banking_payment_blocking.py | 88 +++++++++++++++++++ 3 files changed, 123 insertions(+) create mode 100644 account_banking_payment_blocking/tests/__init__.py create mode 100644 account_banking_payment_blocking/tests/test_account_banking_payment_blocking.py diff --git a/account_banking_payment_blocking/__init__.py b/account_banking_payment_blocking/__init__.py index 248eb311a..5e162df26 100644 --- a/account_banking_payment_blocking/__init__.py +++ b/account_banking_payment_blocking/__init__.py @@ -21,3 +21,4 @@ ############################################################################## import model +import tests diff --git a/account_banking_payment_blocking/tests/__init__.py b/account_banking_payment_blocking/tests/__init__.py new file mode 100644 index 000000000..c9d202606 --- /dev/null +++ b/account_banking_payment_blocking/tests/__init__.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# +# +# Authors: Adrien Peiffer +# Copyright (c) 2014 Acsone SA/NV (http://www.acsone.eu) +# All Rights Reserved +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsibility of assessing all potential +# consequences resulting from its eventual inadequacies and bugs. +# End users who are looking for a ready-to-use solution with commercial +# guarantees and support are strongly advised to contact a Free Software +# Service Company. +# +# 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 . +# +# + +from . import test_account_banking_payment_blocking + +checks = [ + test_account_banking_payment_blocking, +] diff --git a/account_banking_payment_blocking/tests/test_account_banking_payment_blocking.py b/account_banking_payment_blocking/tests/test_account_banking_payment_blocking.py new file mode 100644 index 000000000..22cee1c64 --- /dev/null +++ b/account_banking_payment_blocking/tests/test_account_banking_payment_blocking.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- +# +# +# Authors: Adrien Peiffer +# Copyright (c) 2014 Acsone SA/NV (http://www.acsone.eu) +# All Rights Reserved +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsibility of assessing all potential +# consequences resulting from its eventual inadequacies and bugs. +# End users who are looking for a ready-to-use solution with commercial +# guarantees and support are strongly advised to contact a Free Software +# Service Company. +# +# 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 . +# +# + +import openerp.tests.common as common +from openerp import netsvc + +DB = common.DB +ADMIN_USER_ID = common.ADMIN_USER_ID + + +def create_simple_invoice(self, cr, uid, context=None): + partner_id = self.ref('base.res_partner_2') + product_id = self.ref('product.product_product_4') + return self.registry('account.invoice')\ + .create(cr, uid, {'partner_id': partner_id, + 'account_id': + self.ref('account.a_recv'), + 'journal_id': + self.ref('account.expenses_journal'), + 'invoice_line': [(0, 0, {'name': 'test', + 'account_id': + self.ref('account.a_sale'), + 'price_unit': 2000.00, + 'quantity': 1, + 'product_id': product_id, + } + ) + ], + }) + + +class TestAccountBankingPaymentBlocking(common.TransactionCase): + + def setUp(self): + super(TestAccountBankingPaymentBlocking, self).setUp() + self.context = self.registry("res.users").context_get(self.cr, + self.uid) + + def test_invoice(self): + invoice_obj = self.registry('account.invoice') + move_line_obj = self.registry('account.move.line') + invoice_id = create_simple_invoice(self, self.cr, self.uid, + context=self.context) + netsvc.LocalService("workflow")\ + .trg_validate(self.uid, 'account.invoice', invoice_id, + 'invoice_open', self.cr) + invoice = invoice_obj.browse(self.cr, self.uid, [invoice_id], + context=self.context)[0] + move_line_ids = move_line_obj\ + .search(self.cr, self.uid, [('account_id.type', 'in', + ['payable', 'receivable']), + ('invoice.id', '=', invoice.id)]) + move_line = move_line_obj.browse(self.cr, self.uid, move_line_ids)[0] + self.assertEqual(invoice.move_blocked, move_line.blocked, + 'Blocked values are not equals') + move_line_obj.write(self.cr, self.uid, move_line_ids, + {'blocked': True}) + invoice = invoice_obj.browse(self.cr, self.uid, [invoice_id], + context=self.context)[0] + move_line = move_line_obj.browse(self.cr, self.uid, move_line_ids)[0] + self.assertEqual(invoice.move_blocked, move_line.blocked, + 'Blocked values are not equals')