Sha256: c6d59312b137e23ef54b0f38b606ddfb75094e518c6a64b5c0405c5c5a252d87

Contents?: true

Size: 1.9 KB

Versions: 25

Compression:

Stored size: 1.9 KB

Contents

# frozen_string_literal: true

require "spec_helper"

module Decidim
  module Admin
    shared_examples_for "CreateCategory command" do
      describe "call" do
        let(:organization) { create(:organization) }
        let(:form_params) do
          {
            "category" => {
              "name_en" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
              "name_es" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
              "name_ca" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
              "description_en" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
              "description_es" => Decidim::Faker::Localized.paragraph(sentence_count: 3),
              "description_ca" => Decidim::Faker::Localized.paragraph(sentence_count: 3)
            }
          }
        end
        let(:form) do
          CategoryForm.from_params(
            form_params,
            current_participatory_space: participatory_space
          ).with_context(
            current_organization: organization
          )
        end
        let(:command) { described_class.new(form, participatory_space) }

        describe "when the form is not valid" do
          before do
            expect(form).to receive(:invalid?).and_return(true)
          end

          it "broadcasts invalid" do
            expect { command.call }.to broadcast(:invalid)
          end

          it "doesn't create a category" do
            expect do
              command.call
            end.not_to change(Category, :count)
          end
        end

        describe "when the form is valid" do
          it "broadcasts ok" do
            expect { command.call }.to broadcast(:ok)
          end

          it "creates a new category" do
            expect do
              command.call
            end.to change(participatory_space.categories, :count).by(1)
          end
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
decidim-admin-0.26.10 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.26.9 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.26.8 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.26.7 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.26.5 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.26.4 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.26.3 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.26.2 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.26.1 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.26.0 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.26.0.rc2 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.26.0.rc1 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.25.2 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.25.1 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.25.0 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.25.0.rc4 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.25.0.rc3 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.25.0.rc2 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.25.0.rc1 lib/decidim/admin/test/commands/create_category_examples.rb
decidim-admin-0.24.3 lib/decidim/admin/test/commands/create_category_examples.rb