Sha256: c699a573f39b3f355717f3125529d29227f0b1ba3aecac40ea8d24cac0e84605

Contents?: true

Size: 1.68 KB

Versions: 12

Compression:

Stored size: 1.68 KB

Contents

require 'test_helper'

module PointlessFeedback
  class MessagesControllerTest < ActionController::TestCase
    setup do
      @routes = Engine.routes
    end

    describe "getting new" do
      setup { get :new }

      it { assert_response :success }
      it { assert_template :new }
      it { assigns(:message).must_be_instance_of Message }
    end

    describe "posting to create" do
      setup do
        @valid_params = {
          :message => {
            :name          => 'Some Guy',
            :email_address => 'some_guy@web.com',
            :topic         => 'Other',
            :description   => 'Yo website bork'
          }
        }
      end

      describe "with invalid params" do
        setup do
          post :create, @valid_params.merge(:message => { :name => ''})
        end

        it { assert_response :success }
        it { assert_template :new }

        it { assigns(:message).must_be :invalid? }
      end

      describe "with valid params" do
        describe "with default after_message_create_path" do
          setup do
            post :create, @valid_params
          end

          it { assert_response :redirect }
          it { assert_redirected_to '/' }
          it { flash[:notice].must_equal 'Thanks for your feedback!' }
        end

        describe "with overridden after_message_create_path" do
          setup do
            @controller.instance_eval "def after_message_create_path; '/dashboard'; end"
            post :create, @valid_params
          end

          it { assert_response :redirect }
          it { assert_redirected_to '/dashboard' }
          it { flash[:notice].must_equal 'Thanks for your feedback!' }
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pointless_feedback-4.1.5 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-4.1.4 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-4.1.3 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-4.1.2 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-4.1.1 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-4.1.0 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-4.0.6 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-4.0.5 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-4.0.3 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-4.0.2 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-4.0.1 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-4.0.0 test/functional/pointless_feedback/messages_controller_test.rb