Sha256: 926a0167ef42b971cb8921608f984be513c9cbd06418c9bedd7b8d9c7a122025

Contents?: true

Size: 1.71 KB

Versions: 6

Compression:

Stored size: 1.71 KB

Contents

require 'test_helper'

module PointlessFeedback
  class MessagesControllerTest < ActionController::TestCase
    describe "getting new" do
      setup { get :new, :use_route => :pointless_feedback }

      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'
          },
          :use_route => :pointless_feedback
        }
      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

6 entries across 6 versions & 1 rubygems

Version Path
pointless_feedback-3.0.2 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-3.0.0 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-1.0.3 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-1.0.2 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-1.0.1 test/functional/pointless_feedback/messages_controller_test.rb
pointless_feedback-1.0.0 test/functional/pointless_feedback/messages_controller_test.rb