require File.expand_path(File.dirname(__FILE__) + "/spec_helper") describe "clicks_link" do before do @session = ActionController::Integration::Session.new @session.stubs(:assert_response) @session.stubs(:get_via_redirect) @session.stubs(:response).returns(@response=mock) end it "should_use_get_by_default" do @response.stubs(:body).returns(<<-EOS) Link text EOS @session.expects(:get_via_redirect).with("/page", {}) @session.clicks_link "Link text" end it "should_click_get_links" do @response.stubs(:body).returns(<<-EOS) Link text EOS @session.expects(:get_via_redirect).with("/page", {}) @session.clicks_get_link "Link text" end it "should_click_delete_links" do @response.stubs(:body).returns(<<-EOS) Link text EOS @session.expects(:delete_via_redirect).with("/page", {}) @session.clicks_delete_link "Link text" end it "should_click_post_links" do @response.stubs(:body).returns(<<-EOS) Link text EOS @session.expects(:post_via_redirect).with("/page", {}) @session.clicks_post_link "Link text" end it "should_click_put_links" do @response.stubs(:body).returns(<<-EOS) Link text EOS @session.expects(:put_via_redirect).with("/page", {}) @session.clicks_put_link "Link text" end it "should_click_rails_javascript_links_with_authenticity_tokens" do @response.stubs(:body).returns(<<-EOS) Posts EOS @session.expects(:post_via_redirect).with("/posts", "authenticity_token" => "aa79cb354597a60a3786e7e291ed4f74d77d3a62") @session.clicks_link "Posts" end it "should_click_rails_javascript_delete_links" do @response.stubs(:body).returns(<<-EOS) Delete EOS @session.expects(:delete_via_redirect).with("/posts/1", {}) @session.clicks_link "Delete" end it "should_click_rails_javascript_post_links" do @response.stubs(:body).returns(<<-EOS) Posts EOS @session.expects(:post_via_redirect).with("/posts", {}) @session.clicks_link "Posts" end it "should_click_rails_javascript_put_links" do @response.stubs(:body).returns(<<-EOS) Put EOS @session.expects(:put_via_redirect).with("/posts", {}) @session.clicks_link "Put" end it "should_assert_valid_response" do @response.stubs(:body).returns(<<-EOS) Link text EOS @session.expects(:assert_response).with(:success) @session.clicks_link "Link text" end it "should_not_be_case_sensitive" do @response.stubs(:body).returns(<<-EOS) Link text EOS @session.expects(:get_via_redirect).with("/page", {}) @session.clicks_link "LINK TEXT" end it "should_match_link_substrings" do @response.stubs(:body).returns(<<-EOS) This is some cool link text, isn't it? EOS @session.expects(:get_via_redirect).with("/page", {}) @session.clicks_link "Link text" end it "should_work_with_elements_in_the_link" do @response.stubs(:body).returns(<<-EOS) Link text EOS @session.expects(:get_via_redirect).with("/page", {}) @session.clicks_link "Link text" end it "should_match_the_first_matching_link" do @response.stubs(:body).returns(<<-EOS) Link text Link text EOS @session.expects(:get_via_redirect).with("/page1", {}) @session.clicks_link "Link text" end it "should_choose_the_shortest_link_text_match" do @response.stubs(:body).returns(<<-EOS) Linkerama Link EOS @session.expects(:get_via_redirect).with("/page2", {}) @session.clicks_link "Link" end it "should_click_link_within_a_selector" do @response.stubs(:body).returns(<<-EOS) Link
EOS @session.expects(:get_via_redirect).with("/page2", {}) @session.clicks_link_within "#container", "Link" end it "should_not_make_request_when_link_is_local_anchor" do @response.stubs(:body).returns(<<-EOS) Jump to Section 1 EOS # Don't know why @session.expects(:get_via_redirect).never doesn't work here @session.expects(:send).with('get_via_redirect', '#section-1', {}).never @session.clicks_link "Jump to Section 1" end it "should_follow_relative_links" do @session.current_page.stubs(:url).returns("/page") @response.stubs(:body).returns(<<-EOS) Jump to sub page EOS @session.expects(:get_via_redirect).with("/page/sub", {}) @session.clicks_link "Jump to sub page" end it "should_follow_query_parameters" do @session.current_page.stubs(:url).returns("/page") @response.stubs(:body).returns(<<-EOS) Jump to foo bar EOS @session.expects(:get_via_redirect).with("/page?foo=bar", {}) @session.clicks_link "Jump to foo bar" end end