reports: fix exception when using period option and filtering by association.

Fix an exception in reports like this:

* https://betabooru.donmai.us/reports/posts?search[period]=day&search[uploader][name]=evazion

Caused by the `search` method doing a left join instead of a subquery when filtering by a belongs to association.
This commit is contained in:
evazion
2022-10-23 21:30:45 -05:00
parent bbfea9aecb
commit 5565c753d0
2 changed files with 46 additions and 1 deletions

View File

@@ -0,0 +1,37 @@
require "test_helper"
class ReportsControllerTest < ActionDispatch::IntegrationTest
context "The reports controller" do
context "show action" do
context "posts report" do
setup do
@post = create(:post)
end
should "work" do
get report_path("posts")
assert_response :success
end
should "work with the period param" do
get report_path("posts", search: { period: "month" })
assert_response :success
end
should "work with the group param" do
get report_path("posts", search: { group: "uploader" })
assert_response :success
end
should "work when filtering by a nested association" do
get report_path("posts", search: { uploader: { name: @post.uploader.name }})
assert_response :success
end
end
end
end
end