Fix #5015: 'Rating not selected' error leads to an empty page.

This commit is contained in:
evazion
2022-02-19 17:25:14 -06:00
parent 202dfe5d87
commit a916fd9e7b
2 changed files with 11 additions and 2 deletions

View File

@@ -12,7 +12,7 @@
<% end %>
<% elsif @upload.media_asset_count == 1 %>
<div id="p-single-asset-upload">
<%= render "single_asset_upload", upload_media_asset: @upload.upload_media_assets.first %>
<%= render "uploads/single_asset_upload", upload_media_asset: @upload.upload_media_assets.first %>
</div>
<% end %>
</div>

View File

@@ -6,7 +6,7 @@ class PostsControllerTest < ActionDispatch::IntegrationTest
end
def create_post!(user: create(:user), media_asset: build(:media_asset), rating: "q", tag_string: "tagme", **params)
upload = build(:upload, uploader: user)
upload = build(:upload, uploader: user, media_asset_count: 1, status: "completed")
asset = create(:upload_media_asset, upload: upload, media_asset: media_asset)
post_auth posts_path, user, params: { upload_media_asset_id: asset.id, post: { rating: rating, tag_string: tag_string, **params }}
@@ -666,6 +666,15 @@ class PostsControllerTest < ActionDispatch::IntegrationTest
assert_response :success
end
should "re-render the upload page if the rating is not selected" do
assert_no_difference("Post.count") do
@post = create_post!(rating: "", tag_string: "tagme")
end
assert_response :success
assert_equal("Rating not selected", flash[:notice])
end
should "merge the tags and redirect to the original post if the upload is a duplicate of an existing post" do
media_asset = create(:media_asset)
post1 = create_post!(rating: "s", tag_string: "post1", media_asset: media_asset)