Merge pull request #4599 from consul/invalid_image_fields_html

Fix removing existing image and adding a new one
This commit is contained in:
Javi Martín
2021-07-30 16:03:01 +02:00
committed by GitHub
3 changed files with 16 additions and 16 deletions

View File

@@ -8,6 +8,9 @@
$("#nested-image").on("cocoon:after-remove", function() {
$("#new_image_link").removeClass("hide");
});
$("#nested-image").on("cocoon:before-insert", function() {
$(".js-image-attachment").closest(".image").remove();
});
$("#nested-image").on("cocoon:after-insert", function(e, nested_image) {
var input;
$("#new_image_link").addClass("hide");

View File

@@ -28,8 +28,7 @@
.attachment-errors {
> .js-image-attachment,
> .js-document-attachment {
> [type=file] {
@include element-invisible;
~ .error {

View File

@@ -207,38 +207,36 @@ shared_examples "nested imageable" do |imageable_factory_name, path, imageable_p
end
if path.include? "edit"
scenario "Should show persisted image" do
scenario "show persisted image" do
create(:image, imageable: imageable)
do_login_for user
visit send(path, arguments)
expect(page).to have_css ".image", count: 1
end
scenario "Should not show add image button when image already exists" do
create(:image, imageable: imageable)
do_login_for user
visit send(path, arguments)
expect(page).not_to have_css "a#new_image_link"
end
scenario "Should remove nested field after remove image" do
scenario "remove nested field after removing the image" do
create(:image, imageable: imageable)
do_login_for user
visit send(path, arguments)
click_on "Remove image"
click_link "Remove image"
expect(page).not_to have_css ".image"
expect(page).to have_css "a#new_image_link"
end
scenario "Should show add image button after remove image" do
scenario "don't duplicate fields after removing and adding an image" do
create(:image, imageable: imageable)
do_login_for user
visit send(path, arguments)
click_on "Remove image"
expect(page).to have_css "a#new_image_link"
visit send(path, arguments)
click_link "Remove image"
click_link "Add image"
expect(page).to have_css ".image", count: 1, visible: :all
end
end
end