"""Factories for rules app models."""

import factory
from factory.django import DjangoModelFactory

from accounts.tests.factories import WorkspaceFactory
from rules.models import Rule


class RuleFactory(DjangoModelFactory):
    """Factory for creating Rule instances."""

    class Meta:
        model = Rule

    workspace = factory.SubFactory(WorkspaceFactory)
    name = factory.Sequence(lambda n: f"Rule {n}")
    description = ""
    predicate = factory.LazyFunction(dict)
    action = "tag"
    action_params = factory.LazyFunction(dict)
    priority = 0
    is_enabled = True
