from pytest import fixture from pytest_factoryboy import register, LazyFixture from tests.factories.authentication import ( UserFactory, AgencyUserFactory, ClientUserFactory, SupplierUserFactory, ) from tests.factories.organizations import ( AgencyOrganizationFactory, ClientOrganizationFactory, SupplierOrganizationFactory, ) from tests.factories.products import ProductStageFactory, ProductFactory from tests.factories.projects import ( CategoryFactory, BrandFactory, ProjectFactory, ) from tests.factories.token import TokenFactory register(UserFactory) register(AgencyUserFactory, "agency_user") register(ClientUserFactory, "client_user") register(SupplierUserFactory, "supplier_user") register(TokenFactory) register(AgencyOrganizationFactory) register(ClientOrganizationFactory) register(SupplierOrganizationFactory) register(CategoryFactory) register(BrandFactory) register(ProjectFactory) register(ProjectFactory, "published_project", published=True) register(ProductFactory) register(ProductFactory, "published_product", project=LazyFixture("published_project")) register(ProductStageFactory) @fixture def product_stages(product_stage_factory): product_stage_factory( id="waiting_for_brief", label="1", group=1, description="Briefing", next_action="Waiting for brief", ) @fixture def unauthorized_message(): return "You do not have permission to perform this action."