Sha256: f66d72707a9150e64ff27e46f4d6358c1a767e6bc6a85fe8e0ee8594df51d220

Contents?: true

Size: 1.58 KB

Versions: 15

Compression:

Stored size: 1.58 KB

Contents

# frozen_string_literal: true

require "spec_helper"

module Decidim
  module Admin
    shared_examples_for "category form" do
      subject do
        described_class.from_params(
          attributes
        ).with_context(
          current_participatory_space: participatory_space,
          current_organization: organization
        )
      end

      let(:name) do
        {
          en: "Name",
          es: "Nombre",
          ca: "Nom"
        }
      end
      let(:parent_id) { nil }
      let(:attributes) do
        {
          "category" => {
            "name_en" => name[:en],
            "name_es" => name[:es],
            "name_ca" => name[:ca],
            "parent_id" => parent_id
          }
        }
      end
      let(:organization) { create :organization }

      context "when everything is OK" do
        it { is_expected.to be_valid }
      end

      context "when default language in name is missing" do
        let(:name) do
          {
            ca: "Nom",
            es: "Nombre"
          }
        end

        it { is_expected.to be_invalid }
      end

      context "when the parent_id is set" do
        let!(:category) { create :category, participatory_space: }

        context "and it is set to a first-class category" do
          let(:parent_id) { category.id }

          it { is_expected.to be_valid }
        end

        context "and it is set to a subcategory" do
          let!(:subcategory) { create :subcategory, parent: category }
          let(:parent_id) { subcategory.id }

          it { is_expected.not_to be_valid }
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
decidim-admin-0.29.2 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.28.5 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.29.1 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.28.4 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.29.0 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.28.3 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.29.0.rc4 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.29.0.rc3 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.29.0.rc2 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.29.0.rc1 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.28.2 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.28.1 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.28.0 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.28.0.rc5 lib/decidim/admin/test/forms/category_form_examples.rb
decidim-admin-0.28.0.rc4 lib/decidim/admin/test/forms/category_form_examples.rb