"""Factories for campaigns app models."""

import factory
from factory.django import DjangoModelFactory

from accounts.tests.factories import WorkspaceFactory
from campaigns.models import Campaign


class CampaignFactory(DjangoModelFactory):
    """Factory for creating Campaign instances."""

    class Meta:
        model = Campaign

    workspace = factory.SubFactory(WorkspaceFactory)
    name = factory.Sequence(lambda n: f"Campaign {n}")
    status = "draft"
    channel = "announcement"
    send_at = None
