Bin
2025-12-17 05a69820e0c402b0b33c063d3b922f0a0571cbbb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import factory
from fsm.state_choices import AnnotationStateChoices, ProjectStateChoices, TaskStateChoices
from fsm.state_models import AnnotationState, ProjectState, TaskState
from projects.tests.factories import ProjectFactory
from tasks.tests.factories import AnnotationFactory, TaskFactory
 
 
class ProjectStateFactory(factory.django.DjangoModelFactory):
    project = factory.SubFactory(ProjectFactory)
    state = factory.Iterator(ProjectStateChoices.values)
    created_by_id = factory.SelfAttribute('project.created_by_id')
    organization_id = factory.SelfAttribute('project.organization_id')
 
    class Meta:
        model = ProjectState
 
 
class TaskStateFactory(factory.django.DjangoModelFactory):
    task = factory.SubFactory(TaskFactory)
    state = factory.Iterator(TaskStateChoices.values)
    project_id = factory.SelfAttribute('task.project_id')
    organization_id = factory.SelfAttribute('task.project.organization_id')
 
    class Meta:
        model = TaskState
 
 
class AnnotationStateFactory(factory.django.DjangoModelFactory):
    annotation = factory.SubFactory(AnnotationFactory)
    state = factory.Iterator(AnnotationStateChoices.values)
    task_id = factory.SelfAttribute('annotation.task_id')
    project_id = factory.SelfAttribute('annotation.task.project_id')
    completed_by_id = factory.SelfAttribute('annotation.completed_by_id')
    organization_id = factory.SelfAttribute('annotation.task.project.organization_id')
 
    class Meta:
        model = AnnotationState