diff --git a/app/views/admin/enterprises/form/_images.html.haml b/app/views/admin/enterprises/form/_images.html.haml index 97d31dabcc..ea718607b5 100644 --- a/app/views/admin/enterprises/form/_images.html.haml +++ b/app/views/admin/enterprises/form/_images.html.haml @@ -1,12 +1,13 @@ -.row +.row.page-admin-enterprises-form__logo-field-group.image-field-group .alpha.three.columns = f.label :logo %br 100 x 100 pixels .omega.eight.columns - = image_tag @object.logo(:medium) if @object.logo.present? + = image_tag @object.logo(:medium), class: 'image-field-group__preview-image' if @object.logo.present? = f.file_field :logo -.row + +.row.page-admin-enterprises-form__promo-image-field-group.image-field-group .alpha.three.columns = f.label :promo_image, 'ofn-with-tip' => t('.promo_image_placeholder') %br/ @@ -17,5 +18,5 @@ = t('.promo_image_note3') .omega.eight.columns - = image_tag @object.promo_image(:large) if @object.promo_image.present? + = image_tag @object.promo_image(:large), class: 'image-field-group__preview-image' if @object.promo_image.present? = f.file_field :promo_image diff --git a/spec/features/admin/enterprises/images_spec.rb b/spec/features/admin/enterprises/images_spec.rb new file mode 100644 index 0000000000..01f8754e2d --- /dev/null +++ b/spec/features/admin/enterprises/images_spec.rb @@ -0,0 +1,82 @@ +require "spec_helper" + +feature "Managing enterprise images" do + include AuthenticationWorkflow + include WebHelper + + context "as an Enterprise user", js: true do + let(:enterprise_user) { create_enterprise_user(enterprise_limit: 1) } + let(:distributor) { create(:distributor_enterprise, name: "First Distributor") } + + before do + enterprise_user.enterprise_roles.build(enterprise: distributor).save! + + quick_login_as enterprise_user + visit edit_admin_enterprise_path(distributor) + end + + describe "images for an enterprise", js: true do + def go_to_images + within(".side_menu") do + click_link "Images" + end + end + + before do + go_to_images + end + + scenario "editing logo" do + # Adding image + attach_file "enterprise[logo]", File.join(Rails.root, "app/assets/images/logo-white.png") + click_button "Update" + + expect(page).to have_content("Enterprise \"#{distributor.name}\" has been successfully updated!") + + go_to_images + within ".page-admin-enterprises-form__logo-field-group" do + expect(page).to have_selector(".image-field-group__preview-image") + expect(html).to include("logo-white.png") + end + + # Replacing image + attach_file "enterprise[logo]", File.join(Rails.root, "app/assets/images/logo-black.png") + click_button "Update" + + expect(page).to have_content("Enterprise \"#{distributor.name}\" has been successfully updated!") + + go_to_images + within ".page-admin-enterprises-form__logo-field-group" do + expect(page).to have_selector(".image-field-group__preview-image") + expect(html).to include("logo-black.png") + end + end + + scenario "editing promo image" do + # Adding image + attach_file "enterprise[promo_image]", File.join(Rails.root, "app/assets/images/logo-white.png") + click_button "Update" + + expect(page).to have_content("Enterprise \"#{distributor.name}\" has been successfully updated!") + + go_to_images + within ".page-admin-enterprises-form__promo-image-field-group" do + expect(page).to have_selector(".image-field-group__preview-image") + expect(html).to include("logo-white.jpg") + end + + # Replacing image + attach_file "enterprise[promo_image]", File.join(Rails.root, "app/assets/images/logo-black.png") + click_button "Update" + + expect(page).to have_content("Enterprise \"#{distributor.name}\" has been successfully updated!") + + go_to_images + within ".page-admin-enterprises-form__promo-image-field-group" do + expect(page).to have_selector(".image-field-group__preview-image") + expect(html).to include("logo-black.jpg") + end + end + end + end +end