[14.0][ADD] contract_sale: Add tests to the module

This commit is contained in:
Joan Mateu Jordi
2022-01-04 11:05:06 +01:00
parent 2b90631865
commit 5900a68a7a
4 changed files with 124 additions and 0 deletions

View File

@@ -7,3 +7,4 @@
* Levent Karakaş
* Bejaoui Souheil <souheil.bejaoui@acsone.eu>
* Dhara Solanki <dhara.solanki@initos.com>
* Joan Mateu <Joan.mateu@forgeflow.com>

View File

@@ -2,6 +2,7 @@
"contract_template_salesman","Recurring Salesman","contract.model_contract_template","sales_team.group_sale_salesman",1,1,1,0
"contract_template_sale_manager","Recurring Sale Manager","contract.model_contract_template","sales_team.group_sale_manager",1,1,1,1
"contract_line_saleman","Recurring Invoice Line Saleman","contract.model_contract_line","sales_team.group_sale_salesman",1,1,1,0
"contract_modification_salesman","Contract Modification Salesman","contract.model_contract_modification","sales_team.group_sale_salesman",1,1,1,0
"contract_line_manager","Recurring Invoice Line Manager","contract.model_contract_line","sales_team.group_sale_manager",1,1,1,1
"contract_template_line_salesman","Recurring Contract Line Salesman","contract.model_contract_template_line","sales_team.group_sale_salesman",1,1,1,0
"contract_template_line_manager","Recurring Contract Line Manager","contract.model_contract_template_line","sales_team.group_sale_manager",1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 contract_template_salesman Recurring Salesman contract.model_contract_template sales_team.group_sale_salesman 1 1 1 0
3 contract_template_sale_manager Recurring Sale Manager contract.model_contract_template sales_team.group_sale_manager 1 1 1 1
4 contract_line_saleman Recurring Invoice Line Saleman contract.model_contract_line sales_team.group_sale_salesman 1 1 1 0
5 contract_modification_salesman Contract Modification Salesman contract.model_contract_modification sales_team.group_sale_salesman 1 1 1 0
6 contract_line_manager Recurring Invoice Line Manager contract.model_contract_line sales_team.group_sale_manager 1 1 1 1
7 contract_template_line_salesman Recurring Contract Line Salesman contract.model_contract_template_line sales_team.group_sale_salesman 1 1 1 0
8 contract_template_line_manager Recurring Contract Line Manager contract.model_contract_template_line sales_team.group_sale_manager 1 1 1 1

View File

@@ -0,0 +1,4 @@
# Copyright 2022 ForgeFlow - Joan Mateu
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import test_sale_contract

View File

@@ -0,0 +1,118 @@
# Copyright 2022 ForgeFlow - Joan Mateu
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
from odoo.tests.common import SavepointCase
class TestSaleContract(SavepointCase):
@classmethod
def setUpClass(cls):
super(TestSaleContract, cls).setUpClass()
cls.user_sales_all_documents = cls.env["res.users"].create(
{
"name": "user rights all documents ",
"login": "test1",
"groups_id": [
(6, 0, [cls.env.ref("sales_team.group_sale_salesman_all_leads").id])
],
}
)
cls.user_sales_own_documents = cls.env["res.users"].create(
{
"name": "user rights own documents ",
"login": "test2",
"groups_id": [
(6, 0, [cls.env.ref("sales_team.group_sale_salesman").id])
],
}
)
cls.pricelist = cls.env["product.pricelist"].create(
{"name": "pricelist for contract test"}
)
cls.partner = cls.env["res.partner"].create(
{
"name": "Test contract partner",
"property_product_pricelist": cls.pricelist.id,
}
)
def _create_contract(self, user):
self.contract = (
self.env["contract.contract"]
.with_user(user)
.create(
{
"name": "Test Contract",
"partner_id": self.partner.id,
"pricelist_id": self.partner.property_product_pricelist.id,
"line_recurrence": False,
"contract_type": "sale",
"recurring_interval": 1,
"recurring_rule_type": "monthly",
"date_start": "2018-02-15",
"contract_line_ids": [],
}
)
)
def test_01_create_contract_with_sale_perm_not_acc(self):
self._create_contract(self.user_sales_all_documents)
contracts = (
self.env["contract.contract"]
.with_user(self.user_sales_all_documents)
.search([])
)
self.assertEqual(len(contracts), 1)
def test_02_see_just_own_contracts(self):
self._create_contract(self.user_sales_all_documents)
self._create_contract(self.user_sales_all_documents)
self._create_contract(self.user_sales_own_documents)
self._create_contract(self.user_sales_own_documents)
contracts = (
self.env["contract.contract"]
.with_user(self.user_sales_own_documents)
.search([])
)
self.assertEqual(len(contracts), 2)
def test_03_see_all_contracts(self):
self._create_contract(self.user_sales_all_documents)
self._create_contract(self.user_sales_all_documents)
self._create_contract(self.user_sales_own_documents)
self._create_contract(self.user_sales_own_documents)
contracts = (
self.env["contract.contract"]
.with_user(self.user_sales_all_documents)
.search([])
)
self.assertEqual(len(contracts), 4)
def test_04_edit_existing_contract(self):
self._create_contract(self.user_sales_own_documents)
contract_modify = (
self.env["contract.contract"]
.with_user(self.user_sales_own_documents)
.search([])
)
self.assertEqual(len(contract_modify), 1)
self.assertEqual(contract_modify.name, "Test Contract")
self.env["contract.contract"].with_user(self.user_sales_own_documents).search(
[]
).write(
{
"name": "Test_contract_to_modify",
}
)
contract_modify = (
self.env["contract.contract"]
.with_user(self.user_sales_own_documents)
.search([])
)
self.assertEqual(contract_modify.name, "Test_contract_to_modify")