votes: fixup various minor issues.

* Add a gap between thumbnails on mobile.
* Adjust CSS for scores and vote buttons.
* Include "Private favorites" as an incentive on the user upgrade page.
* Fix vote buttons not being visible beneath thumbnails on mobile.
* Fix the "Show scores" link not preserving the current page number.
* Fix vote buttons being unintentionally enabled for all thumbnails by default.
* Fix banned and restricted users being able to favorite posts by
  tagging them with `fav:self`.
* Fix search engines being able to crawl /posts?view=score pages.
* Fix broken tests.
This commit is contained in:
evazion
2021-11-19 22:40:34 -06:00
parent 3ae62d08eb
commit eda23c719a
20 changed files with 108 additions and 94 deletions

View File

@@ -7,7 +7,7 @@ class PostNavbarComponentTest < ViewComponent::TestCase
setup do
@post = create(:post)
@user = create(:user)
@user = create(:gold_user)
end
context "The PostNavbarComponent" do
@@ -46,9 +46,8 @@ class PostNavbarComponentTest < ViewComponent::TestCase
context "for a post with favgroups" do
setup do
as(@user) do
@favgroup1 = create(:favorite_group, creator: @user, is_public: true)
@favgroup2 = create(:favorite_group, creator: @user, is_public: false)
@post.update(tag_string: "favgroup:#{@favgroup1.id} favgroup:#{@favgroup2.id}")
@favgroup1 = create(:favorite_group, creator: @user, post_ids: [@post.id])
@favgroup2 = create(:private_favorite_group, creator: @user, post_ids: [@post.id])
end
end

View File

@@ -11,12 +11,12 @@ class PostVotesComponentTest < ViewComponent::TestCase
end
context "for a user who can't vote" do
should "not show the vote buttons" do
should "show the vote buttons" do
render_post_votes(@post, current_user: User.anonymous)
assert_css(".post-score")
assert_no_css(".post-upvote-link")
assert_no_css(".post-downvote-link")
assert_css(".post-upvote-link.inactive-link")
assert_css(".post-downvote-link.inactive-link")
end
end
@@ -34,8 +34,8 @@ class PostVotesComponentTest < ViewComponent::TestCase
context "for a downvoted post" do
should "highlight the downvote button as active" do
@post.vote!(-1, @user)
render_post_votes(@post, current_user: @user)
create(:post_vote, post: @post, user: @user, score: -1)
as(@user) { render_post_votes(@post, current_user: @user) }
assert_css(".post-upvote-link.inactive-link")
assert_css(".post-downvote-link.active-link")
@@ -44,8 +44,8 @@ class PostVotesComponentTest < ViewComponent::TestCase
context "for an upvoted post" do
should "highlight the upvote button as active" do
@post.vote!(1, @user)
render_post_votes(@post, current_user: @user)
create(:post_vote, post: @post, user: @user, score: 1)
as(@user) { render_post_votes(@post, current_user: @user) }
assert_css(".post-upvote-link.active-link")
assert_css(".post-downvote-link.inactive-link")