Sha256: bec0d2e2a66f7ab1ca5276317da4c0f47fec870fefbd289151d726d89a403b09

Contents?: true

Size: 1.07 KB

Versions: 4

Compression:

Stored size: 1.07 KB

Contents

require 'spec_helper'

module Tasuku
  describe Taskables::Image::ResponsesController do
    routes { Tasuku::Engine.routes }

    describe "POST 'create'" do
      it 'routes' do
        expect(post: '/image/requests/1/responses').to route_to(
          action: 'create',
          controller: 'tasuku/taskables/image/responses',
          request_id: '1'
        )
      end

      context 'with a response' do
        let(:user)          { create :user }
        let(:image_request) { create :image_request }
        let(:params)        { { request_id: image_request.id, taskables_image_response: { image: fixture_file_upload('doge.jpg', 'image/jpg') } } }

        before { request.env['HTTP_REFERER'] = 'http://example.org' }
        before { expect(subject).to receive(:current_user).and_return(user) }

        it_behaves_like 'redirectable' do
          let(:action) { :create }
          let(:verb)   { :post }
        end

        it 'creates a new response' do
          post :create, params

          expect(image_request.responses.count).to eq 1
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
tasuku-1.1.0 spec/controllers/tasuku/taskables/image/responses_controller_spec.rb
tasuku-1.0.1 spec/controllers/tasuku/taskables/image/responses_controller_spec.rb
tasuku-0.1.1 spec/controllers/tasuku/taskables/image/responses_controller_spec.rb
tasuku-0.1.0 spec/controllers/tasuku/taskables/image/responses_controller_spec.rb