48 lines
1.1 KiB
Ruby
48 lines
1.1 KiB
Ruby
require 'test_helper'
|
|
require 'mechanize'
|
|
|
|
class CookiesTest < Minitest::Test
|
|
include WebserverHelper
|
|
|
|
def setup
|
|
@agent = Mechanize.new { |a|
|
|
a.follow_redirect = false
|
|
}
|
|
end
|
|
|
|
def test_no_session_on_pages
|
|
[
|
|
"/",
|
|
"/faq",
|
|
].each do |path|
|
|
url = "https://#{domain}#{path}"
|
|
@agent.get(url)
|
|
|
|
refute_has_session_cookie @agent, "_example_session", "for #{url}"
|
|
end
|
|
end
|
|
|
|
def test_session_on_pages
|
|
[
|
|
"/login",
|
|
"/store",
|
|
].each do |path|
|
|
url = "https://#{domain}#{path}"
|
|
@agent.get(url)
|
|
|
|
assert_has_session_cookie @agent, "_example_session", "for #{url}"
|
|
end
|
|
end
|
|
|
|
def assert_has_session_cookie(agent, cookie_name, context = nil)
|
|
message = message_with_context("Expected to find a session cookie named '#{cookie_name}'", context)
|
|
assert_includes agent.cookie_jar.map(&:name), cookie_name, message
|
|
end
|
|
|
|
def refute_has_session_cookie(agent, cookie_name, context = nil)
|
|
message = message_with_context("Expected to not find a session cookie named '#{cookie_name}'", context)
|
|
refute_includes agent.cookie_jar.map(&:name), cookie_name, message
|
|
end
|
|
|
|
end
|