prvi kod za live uporabu
Some checks failed
ERP CI Pipeline / test (push) Has been cancelled

This commit is contained in:
mariomitte
2026-07-09 21:21:17 +02:00
parent 857bb65d52
commit 5d39e048ba
239 changed files with 25151 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
from django.test import TestCase, RequestFactory
from django.contrib.auth import get_user_model
from unittest.mock import patch
from modules.invoicing.views import InvoiceTransactionEntryViewSet
from modules.invoicing.serializers import InvoiceTransactionSerializer
from modules.invoicing.models import InvoiceTransaction
from modules.invoicing.models import Invoice
from modules.crm.models import Client
from datetime import date
from decimal import Decimal
class ViewsTests(TestCase):
def setUp(self):
User = get_user_model()
self.user = User.objects.create_user(username="u1", email="u1@example.com", password="pass")
self.client = Client.objects.create(name="Client Views")
self.invoice = Invoice.objects.create(
invoice_number="INV-TEST-0001",
creator=self.user,
client=self.client,
amount=Decimal("10.00"),
due_date=date.today()
)
self.factory = RequestFactory()
self.viewset = InvoiceTransactionEntryViewSet()
@patch("modules.invoicing.services.InvoiceService.create_invoice_entry")
def test_perform_create_calls_service(self, mock_create_invoice_entry):
# simuliramo serializer.validated_data i poziv perform_create
serializer = InvoiceTransactionSerializer(data={
"invoice": self.invoice.id,
"invoice_number": self.invoice.invoice_number,
"amount": "5.00",
"is_active": True
}, context={"request": self.factory.get("/")})
serializer.is_valid(raise_exception=True)
# Poziv perform_create koji bi trebao delegirati na servis
self.viewset.request = self.factory.post("/")
self.viewset.request.user = self.user
# Ako kod poziva InvoiceService.create_invoice_entry, mock se aktivira.
self.viewset.perform_create(serializer)
mock_create_invoice_entry.assert_called()