nfu/account_payment_portal/tests/test_account_payment.py
madmooose c509a1be9b
[112] [ADD] account_payment_portal
* [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>
2025-07-30 12:26:09 +02:00

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)