Przejdź do treści

🧪 Testy - Standardy

Ten dokument opisuje standardy testowania dla Panel Księgowy.


📋 Framework

pytest

Używamy pytest jako framework testowy:

import pytest
from apps.teams.models import Team
from apps.crm.models import Client

@pytest.mark.django_db
def test_create_client(team):
    """Test tworzenia klienta."""
    client = Client.objects.create(team=team, name="Test Client")
    assert client.name == "Test Client"
    assert client.team == team

🏭 Factory Boy

Fixtures

import factory
from apps.teams.models import Team
from apps.crm.models import Client

class TeamFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Team

    name = factory.Sequence(lambda n: f"Team {n}")
    slug = factory.Sequence(lambda n: f"team-{n}")

class ClientFactory(factory.django.DjangoModelFactory):
    class Meta:
        model = Client

    team = factory.SubFactory(TeamFactory)
    name = factory.Sequence(lambda n: f"Client {n}")

📊 Coverage

Wymagania

  • Minimum 80% pokrycia testami
  • Wszystkie modele powinny mieć testy
  • Wszystkie views powinny mieć testy

📚 Więcej informacji

Zobacz przykłady testów w apps/*/tests/ dla szczegółów.


Ostatnia aktualizacja: 2025-11-29
Wersja dokumentacji: 1.0