test_ruby/helpers/results/renderers/team_name_renderer_test.rb
# frozen_string_literal: true
require_relative "../../../test_case"
require "tabular"
require_relative "../../../../app/helpers/results/renderers/team_name_renderer"
require "nokogiri"
module Results
module Renderers
# :stopdoc:
class TeamNameRendererTest < Ruby::TestCase
def test_render_no_team
column = mock("column", key: :team_name)
row = mock("row", :[] => nil, source: mock("result", team_id: nil))
assert_nil TeamNameRenderer.render(column, row), "Result with no text, no team"
end
def test_render_team
column = stub("column", key: :team_name)
row = stub(
"row",
:[] => "Gentle Lovers",
metadata: {},
source: stub("result", calculation_result?: false, team_id: 18, team_competition_result?: false, year: 2010)
)
TeamNameRenderer.stubs(racing_association: mock("racing_association", unregistered_teams_in_results?: true))
html = TeamNameRenderer.render(column, row)
link = Nokogiri::HTML.fragment(html).search("a").first
assert_equal "/teams/18/2010", link["href"], "href"
assert_equal "Gentle Lovers", link.text, "text"
end
def test_competition_result
column = stub("column", key: :team_name)
row = stub("row",
:[] => "Gentle Lovers",
metadata: {},
source: stub("result",
calculation_result?: false,
team_id: 18,
event_id: 3,
race_id: 200,
team_competition_result?: true,
year: 2010,
team_member?: false))
TeamNameRenderer.stubs(racing_association: mock("racing_association"))
html = TeamNameRenderer.render(column, row)
link = Nokogiri::HTML.fragment(html).search("a").first
assert_equal "Gentle Lovers", link.text, "text"
assert_equal "/events/3/teams/18/results#200", link["href"], "href"
end
end
end
end