Sha256: 80d8fc06eac0a7ff7467dffbc2d28be8607da690805239d9e78e12f34f2f6b39

Contents?: true

Size: 1.76 KB

Versions: 15

Compression:

Stored size: 1.76 KB

Contents

# frozen_string_literal: true

require "decidim/faker/localized"
require "decidim/dev"

require "decidim/core/test/factories"
require "decidim/participatory_processes/test/factories"

FactoryBot.define do
  factory :budget_component, parent: :component do
    name { Decidim::Components::Namer.new(participatory_space.organization.available_locales, :budgets).i18n_name }
    manifest_name { :budgets }
    participatory_space { create(:participatory_process, :with_steps, organization: organization) }

    trait :with_total_budget_and_vote_threshold_percent do
      transient do
        total_budget { 100_000_000 }
        vote_threshold_percent { 70 }
      end

      settings do
        {
          total_budget: total_budget,
          vote_threshold_percent: vote_threshold_percent
        }
      end
    end

    trait :with_votes_disabled do
      step_settings do
        {
          participatory_space.active_step.id => {
            votes_enabled: false
          }
        }
      end
    end

    trait :with_show_votes_enabled do
      step_settings do
        {
          participatory_space.active_step.id => {
            show_votes: true
          }
        }
      end
    end
  end

  factory :project, class: "Decidim::Budgets::Project" do
    title { generate_localized_title }
    description { Decidim::Faker::Localized.wrapped("<p>", "</p>") { generate_localized_title } }
    budget { Faker::Number.number(8) }
    component { create(:budget_component) }
  end

  factory :order, class: "Decidim::Budgets::Order" do
    component { create(:budget_component) }
    user { create(:user, organization: component.organization) }
  end

  factory :line_item, class: "Decidim::Budgets::LineItem" do
    order
    project { create(:project, component: order.component) }
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
decidim-budgets-0.21.0 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.20.1 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.20.0 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.19.1 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.18.1 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.19.0 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.17.2 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.18.0 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.17.1 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.16.1 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.17.0 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.16.0 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.15.2 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.15.1 lib/decidim/budgets/test/factories.rb
decidim-budgets-0.15.0 lib/decidim/budgets/test/factories.rb