* [WIP] account_payment_portal: first draft * [ADD] account_payment_portal * [IMP] account_payment_portal: Fix user rights and add test --------- Co-authored-by: Niels Göttsch <ng@ife.de>
58 lines
2 KiB
Python
58 lines
2 KiB
Python
from odoo.tests import tagged
|
|
from odoo.tests.common import TransactionCase
|
|
|
|
|
|
@tagged("post_install", "-at_install")
|
|
class TestAccountPaymentPortal(TransactionCase):
|
|
def setUp(self):
|
|
super().setUp()
|
|
# Create two partners
|
|
portal_partner = self.env["res.partner"].create({"name": "Portal User"})
|
|
other_partner = self.env["res.partner"].create({"name": "Other User"})
|
|
|
|
# Create two users, one portal
|
|
portal_group = self.env.ref("base.group_portal")
|
|
portal_user = self.env["res.users"].create(
|
|
{
|
|
"name": "Portal User",
|
|
"login": "portaluser@example.com",
|
|
"partner_id": portal_partner.id,
|
|
"groups_id": [(6, 0, [portal_group.id])],
|
|
}
|
|
)
|
|
other_user = self.env["res.users"].create(
|
|
{
|
|
"name": "Other User",
|
|
"login": "otheruser@example.com",
|
|
"partner_id": other_partner.id,
|
|
}
|
|
)
|
|
|
|
# Create two payments
|
|
portal_partner_payment = self.env["account.payment"].create(
|
|
{
|
|
"partner_id": portal_partner.id,
|
|
"amount": 100,
|
|
"payment_type": "inbound",
|
|
"state": "draft",
|
|
}
|
|
)
|
|
other_partner_payment = self.env["account.payment"].create(
|
|
{
|
|
"partner_id": other_partner.id,
|
|
"amount": 200,
|
|
"payment_type": "inbound",
|
|
"state": "draft",
|
|
}
|
|
)
|
|
|
|
self.portal_user = portal_user
|
|
self.other_user = other_user
|
|
self.portal_partner_payment = portal_partner_payment
|
|
self.other_partner_payment = other_partner_payment
|
|
|
|
def test_portal_user_sees_only_own_payment(self):
|
|
# Switch to portal user context
|
|
payments = self.env["account.payment"].with_user(self.portal_user.id).search([])
|
|
self.assertIn(self.portal_partner_payment, payments)
|
|
self.assertNotIn(self.other_partner_payment, payments)
|