Sha256: 85f23e1c63b7590740bc9e17f8ef31f8faf813df9d2ef59bdc98746518f16566

Contents?: true

Size: 1.27 KB

Versions: 19

Compression:

Stored size: 1.27 KB

Contents

# frozen_string_literal: true

require "spec_helper"

module Decidim
  module Proposals
    describe VoteProposal do
      describe "call" do
        let(:proposal) { create(:proposal) }
        let(:current_user) { create(:user, organization: proposal.feature.organization) }
        let(:command) { described_class.new(proposal, current_user) }

        describe "when the vote is not valid" do
          before do
            allow_any_instance_of(ProposalVote).to receive(:valid?).and_return(false)
          end

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

          it "doesn't create a new vote for the proposal" do
            expect do
              command.call
            end.to change { ProposalVote.count }.by(0)
          end
        end

        describe "when the vote is valid" do
          before do
            allow_any_instance_of(ProposalVote).to receive(:valid?).and_return(true)
          end

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

          it "creates a new vote for the proposal" do
            expect do
              command.call
            end.to change { ProposalVote.count }.by(1)
          end
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
decidim-0.6.8 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.6.7 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.6.6 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.6.5 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.6.4 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.6.3 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.6.2 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.6.1 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.6.0 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.5.1 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.5.0 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.4.4 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.4.3 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.4.2 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.4.1 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.4.0 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.3.2 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.3.1 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb
decidim-0.3.0 decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb