views: fix deprecated calls to ViewComponent#with_variant.

This commit is contained in:
evazion
2022-04-13 00:00:25 -05:00
parent f69847fc59
commit 363cf2014b
20 changed files with 71 additions and 53 deletions

View File

@@ -1,12 +1,16 @@
require "test_helper"
class PaginatorComponentTest < ViewComponent::TestCase
def render_paginator(variant, records, page: 1, limit: 3, page_limit: 100)
with_variant(variant) do
records = records.paginate(page, limit: limit, page_limit: page_limit)
params = ActionController::Parameters.new(controller: records.model_name.plural, action: :index)
return render_inline(PaginatorComponent.new(records: records, params: params))
end
def render_sequential_paginator(records, page: 1, limit: 3, page_limit: 100)
records = records.paginate(page, limit: limit, page_limit: page_limit)
params = ActionController::Parameters.new(controller: records.model_name.plural, action: :index)
return render_inline(SequentialPaginatorComponent.new(records: records, params: params))
end
def render_numbered_paginator(records, page: 1, limit: 3, page_limit: 100)
records = records.paginate(page, limit: limit, page_limit: page_limit)
params = ActionController::Parameters.new(controller: records.model_name.plural, action: :index)
return render_inline(NumberedPaginatorComponent.new(records: records, params: params))
end
def assert_page(expected_page, link)
@@ -24,14 +28,14 @@ class PaginatorComponentTest < ViewComponent::TestCase
end
should "work with an aN page" do
html = render_paginator(:sequential, Tag.all, page: "a#{@tags[5].id}", limit: 3)
html = render_sequential_paginator(Tag.all, page: "a#{@tags[5].id}", limit: 3)
assert_page("a#{@tags[5+3].id}", html.css("a[rel=prev]"))
assert_page("b#{@tags[5+1].id}", html.css("a[rel=next]"))
end
should "work with a bN page" do
html = render_paginator(:sequential, Tag.all, page: "b#{@tags[5].id}", limit: 3)
html = render_sequential_paginator(Tag.all, page: "b#{@tags[5].id}", limit: 3)
assert_page("a#{@tags[5-1].id}", html.css("a[rel=prev]"))
assert_page("b#{@tags[5-3].id}", html.css("a[rel=next]"))
@@ -45,21 +49,21 @@ class PaginatorComponentTest < ViewComponent::TestCase
end
should "work for page 1" do
html = render_paginator(:numbered, Tag.all, page: 1, limit: 3)
html = render_numbered_paginator(Tag.all, page: 1, limit: 3)
assert_css("span.paginator-prev")
assert_page("2", html.css("a.paginator-next"))
end
should "work for page 2" do
html = render_paginator(:numbered, Tag.all, page: 2, limit: 3)
html = render_numbered_paginator(Tag.all, page: 2, limit: 3)
assert_page("1", html.css("a.paginator-prev"))
assert_page("3", html.css("a.paginator-next"))
end
should "work for page 4" do
html = render_paginator(:numbered, Tag.all, page: 4, limit: 3)
html = render_numbered_paginator(Tag.all, page: 4, limit: 3)
assert_page("3", html.css("a.paginator-prev"))
assert_css("span.paginator-next")
@@ -68,7 +72,7 @@ class PaginatorComponentTest < ViewComponent::TestCase
context "for a search with zero results" do
should "work for page 1" do
html = render_paginator(:numbered, Tag.none, page: 1, limit: 3)
html = render_numbered_paginator(Tag.none, page: 1, limit: 3)
assert_css("span.paginator-current", text: "1")
assert_css("span.paginator-prev")
@@ -81,7 +85,7 @@ class PaginatorComponentTest < ViewComponent::TestCase
should "show the unlimited paginator" do
@tags = Tag.all
@tags.stubs(:total_count).returns(Float::INFINITY)
html = render_paginator(:numbered, @tags, page: 1, limit: 200)
html = render_numbered_paginator(@tags, page: 1, limit: 200)
assert_css("span.paginator-current", text: "1")
assert_css("span.paginator-prev")

View File

@@ -1,12 +1,6 @@
require "test_helper"
class TagListComponentTest < ViewComponent::TestCase
def render_tag_list(tags, variant, **options)
with_variant(variant) do
render_inline(TagListComponent.new(tags: tags, **options))
end
end
context "The TagListComponent" do
setup do
@arttag = create(:artist_tag)
@@ -17,9 +11,9 @@ class TagListComponentTest < ViewComponent::TestCase
@tags = Tag.all
end
context "for a simple tag list" do
context "for a related tag list" do
should "render" do
render_tag_list(@tags, :simple)
render_inline(RelatedTagListComponent.new(tags: @tags))
assert_css(".simple-tag-list a.search-tag", count: 5)
end
@@ -27,7 +21,7 @@ class TagListComponentTest < ViewComponent::TestCase
context "for an inline tag list" do
should "render" do
render_tag_list(@tags, :inline)
render_inline(InlineTagListComponent.new(tags: @tags))
assert_css(".inline-tag-list a.search-tag", count: 5)
end
@@ -36,7 +30,7 @@ class TagListComponentTest < ViewComponent::TestCase
context "for a search tag list" do
context "with +/- links" do
should "render" do
render_tag_list(@tags, :search, current_query: "touhou", show_extra_links: true)
render_inline(SearchTagListComponent.new(tags: @tags, current_query: "touhou", show_extra_links: true))
assert_css(".search-tag-list li a.search-tag", count: 5)
end
@@ -44,7 +38,7 @@ class TagListComponentTest < ViewComponent::TestCase
context "without +/- links" do
should "render" do
render_tag_list(@tags, :search)
render_inline(SearchTagListComponent.new(tags: @tags))
assert_css(".search-tag-list li a.search-tag", count: 5)
end
@@ -53,7 +47,7 @@ class TagListComponentTest < ViewComponent::TestCase
context "for a categorized tag list" do
should "render" do
render_tag_list(@tags, :categorized)
render_inline(CategorizedTagListComponent.new(tags: @tags))
assert_css(".categorized-tag-list li a.search-tag", count: 5)
assert_css(".categorized-tag-list h3", count: 5)