Files
fizzy/test/models/command/visit_url_test.rb
T

37 lines
1.1 KiB
Ruby

require "test_helper"
class Command::VisitUrlTest < ActionDispatch::IntegrationTest
setup do
@user = users(:david)
@card = cards(:logo)
@script_name = integration_session.default_url_options[:script_name]
end
test "visit a path without the account slug" do
result = visit_command("/foo/1234/bar").execute
assert_kind_of Command::Result::Redirection, result
assert_equal "#{@script_name}/foo/1234/bar", result.url
end
test "visit a path with the account slug" do
result = visit_command("#{@script_name}/foo/1234/bar").execute
assert_kind_of Command::Result::Redirection, result
assert_equal "#{@script_name}/foo/1234/bar", result.url
end
test "visit an object path" do
result = visit_command(@card).execute
assert_kind_of Command::Result::Redirection, result
assert_equal @card, result.url
end
private
def visit_command(url)
context = Command::Parser::Context.new(@user, url: collection_card_url(@card.collection, @card), script_name: integration_session.default_url_options[:script_name])
Command::VisitUrl.new(url: url, context: context)
end
end