lib/decidim/dev/test/factories.rb in decidim-dev-0.28.0 vs lib/decidim/dev/test/factories.rb in decidim-dev-0.28.1

- old
+ new

@@ -2,56 +2,66 @@ require "decidim/components/namer" FactoryBot.define do factory :dummy_component, parent: :component do - name { Decidim::Components::Namer.new(participatory_space.organization.available_locales, :surveys).i18n_name } + transient do + skip_injection { false } + end + name { generate_component_name(participatory_space.organization.available_locales, :surveys, skip_injection:) } manifest_name { :dummy } end factory :dummy_resource, class: "Decidim::Dev::DummyResource" do transient do + skip_injection { false } users { nil } # user_groups correspondence to users is by sorting order user_groups { [] } end - title { Decidim::Faker::Localized.localized { generate(:name) } } - component { create(:component, manifest_name: "dummy") } - author { create(:user, :confirmed, organization: component.organization) } - scope { create(:scope, organization: component.organization) } + title { generate_localized_title(:dummy_resource_title, skip_injection:) } + component { create(:dummy_component, skip_injection:) } + author { create(:user, :confirmed, organization: component.organization, skip_injection:) } + scope { create(:scope, organization: component.organization, skip_injection:) } trait :published do published_at { Time.current } end trait :with_endorsements do - after :create do |resource| + after :create do |resource, evaluator| 5.times.collect do - create(:endorsement, resource:, author: build(:user, organization: resource.component.organization)) + create(:endorsement, resource:, skip_injection: evaluator.skip_injection, + author: build(:user, organization: resource.component.organization, skip_injection: evaluator.skip_injection)) end end end end factory :nested_dummy_resource, class: "Decidim::Dev::NestedDummyResource" do + transient do + skip_injection { false } + end title { generate(:name) } dummy_resource { create(:dummy_resource) } end factory :coauthorable_dummy_resource, class: "Decidim::Dev::CoauthorableDummyResource" do + transient do + skip_injection { false } + authors_list { [create(:user, organization: component.organization, skip_injection:)] } + end title { generate(:name) } component { create(:component, manifest_name: "dummy") } - transient do - authors_list { [create(:user, organization: component.organization)] } - end - after :build do |resource, evaluator| evaluator.authors_list.each do |coauthor| resource.coauthorships << if coauthor.is_a?(Decidim::UserGroup) - build(:coauthorship, author: coauthor.users.first, user_group: coauthor, coauthorable: resource, organization: evaluator.component.organization) + build(:coauthorship, author: coauthor.users.first, user_group: coauthor, coauthorable: resource, + organization: evaluator.component.organization, skip_injection: evaluator.skip_injection) else - build(:coauthorship, author: coauthor, coauthorable: resource, organization: evaluator.component.organization) + build(:coauthorship, author: coauthor, coauthorable: resource, organization: evaluator.component.organization, + skip_injection: evaluator.skip_injection) end end end end end