mirror of
https://github.com/bringout/oca-ocb-sale.git
synced 2026-04-27 15:12:02 +02:00
68 lines
2.5 KiB
Python
68 lines
2.5 KiB
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo.fields import Command
|
|
from odoo.tests.common import HttpCase, tagged
|
|
|
|
from odoo.addons.account.tests.common import AccountTestInvoicingCommon
|
|
from odoo.addons.sale.tests.common import TestSaleCommon
|
|
|
|
|
|
@tagged('post_install', '-at_install')
|
|
class TestUi(AccountTestInvoicingCommon, HttpCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super().setUpClass()
|
|
|
|
cls.agrolait = cls.env['res.partner'].create({'name': 'Agrolait', 'email': 'agro@lait.be'})
|
|
|
|
def test_01_sale_tour(self):
|
|
self.env.ref('base.user_admin').write({
|
|
'email': 'mitchell.admin@example.com',
|
|
})
|
|
self.start_tour("/odoo", 'sale_tour', login="admin")
|
|
|
|
def test_04_portal_sale_signature_without_name_tour(self):
|
|
"""The goal of this test is to make sure the portal user can sign SO even witout a name."""
|
|
self.agrolait.name = ""
|
|
|
|
sales_order = self.env['sale.order'].sudo().create({
|
|
'name': 'test SO',
|
|
'partner_id': self.agrolait.id,
|
|
'state': 'sent',
|
|
'require_payment': False,
|
|
'order_line': [
|
|
Command.create({
|
|
'product_id': self.product.id,
|
|
})
|
|
]
|
|
})
|
|
action = sales_order.action_preview_sale_order()
|
|
|
|
self.start_tour(action['url'], 'sale_signature_without_name', login="admin")
|
|
|
|
|
|
@tagged('-at_install', 'post_install')
|
|
class TestSaleFlowTourPostInstall(TestSaleCommon, HttpCase):
|
|
|
|
def test_basic_sale_flow_with_minimal_access_rights(self):
|
|
"""
|
|
Test that a sale user with minimal access rights (own document only) can open both the
|
|
list and form view, create and process a sale order and open the associated invoice.
|
|
"""
|
|
sale_user = self.env['res.users'].create({
|
|
'name': 'Super Sale Woman',
|
|
'login': 'SuperSaleWoman',
|
|
'group_ids': [Command.set([self.ref('sales_team.group_sale_salesman')])],
|
|
})
|
|
# create and confirm a sale order to populate the list view
|
|
sale_order = self.env['sale.order'].with_user(sale_user.id).create({
|
|
'partner_id': self.partner_a.id,
|
|
'order_line': [Command.create({
|
|
'name': self.product.name,
|
|
'product_id': self.product.id,
|
|
'product_uom_qty': 1,
|
|
})],
|
|
})
|
|
sale_order.action_confirm()
|
|
self.start_tour('/odoo', 'test_basic_sale_flow_with_minimal_access_rights', login='SuperSaleWoman')
|