Sha256: 612500eccab38ca4cc1f8be5b55b01264967fed69d940931b2861386ac98cd79

Contents?: true

Size: 1.13 KB

Versions: 2

Compression:

Stored size: 1.13 KB

Contents

RSpec.describe Dashing::WidgetsController do

  let(:redis) { double }

  before do
    stub_redis(redis)
    @routes = Dashing::Engine.routes
  end

  describe 'GET "show"' do

    def action(params = {})
      get :show, params
    end

    context 'when default template exists' do

      it 'responds success' do
        action(name: 'text')
        expect(response).to be_success
      end

    end

    context 'when template exists in main app' do

      it 'responds success' do
        action(name: 'foo')
        expect(response).to be_success
      end

    end

    context 'when template does not exist' do

      it { expect { action }.to raise_error }
      it { expect { action(name: 'bar') }.to raise_error }

    end

  end

  describe 'PUT "update"' do

    def action(params = {})
      put :update, params
    end

    context 'when valid' do

      before do
        expect(redis).to receive(:publish)
      end

      it 'responds success' do
        action(name: 'foo')
        expect(response).to be_success
      end

    end

    context 'when not valid' do

      it { expect { action }.to raise_error }

    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dashing-rails-2.6.1 spec/controllers/dashing/widgets_controller_spec.rb
dashing-rails-2.6.0 spec/controllers/dashing/widgets_controller_spec.rb