require File.dirname(__FILE__) + "/helper" class ChoosesTest < Test::Unit::TestCase def setup @session = test_session @session.stubs(:assert_response) @session.stubs(:get_via_redirect) @session.stubs(:response).returns(@response=mock) end def test_should_fail_if_no_radio_buttons_found @response.stubs(:body).returns(<<-EOS)
EOS assert_raises RuntimeError do @session.chooses "first option" end end def test_should_fail_if_input_is_not_a_radio_button @response.stubs(:body).returns(<<-EOS)
EOS assert_raises RuntimeError do @session.chooses "first_option" end end def test_should_check_rails_style_radio_buttons @response.stubs(:body).returns(<<-EOS)
EOS @session.expects(:get_via_redirect).with("/login", "user" => {"gender" => "M"}) @session.chooses "Male" @session.clicks_button end def test_should_only_submit_last_chosen_value @response.stubs(:body).returns(<<-EOS)
EOS @session.expects(:get_via_redirect).with("/login", "user" => {"gender" => "M"}) @session.chooses "Female" @session.chooses "Male" @session.clicks_button end def test_should_result_in_the_value_on_being_posted_if_not_specified @response.stubs(:body).returns(<<-EOS)
EOS @session.expects(:post_via_redirect).with("/login", "first_option" => "on") @session.chooses "first_option" @session.clicks_button end def test_should_result_in_the_value_on_being_posted_if_not_specified_and_checked_by_default @response.stubs(:body).returns(<<-EOS)
EOS @session.expects(:post_via_redirect).with("/login", "first_option" => "on") @session.clicks_button end end