diff --git a/app/controllers/api/v0/enterprises_controller.rb b/app/controllers/api/v0/enterprises_controller.rb index 804808f53b..9dd4737a5d 100644 --- a/app/controllers/api/v0/enterprises_controller.rb +++ b/app/controllers/api/v0/enterprises_controller.rb @@ -44,9 +44,9 @@ module Api authorize! :update, @enterprise if params[:logo] && @enterprise.update( logo: params[:logo] ) - render plain: @enterprise.logo.url(:medium), status: :ok + render html: @enterprise.logo.url(:medium), status: :ok elsif params[:promo] && @enterprise.update( promo_image: params[:promo] ) - render plain: @enterprise.promo_image.url(:medium), status: :ok + render html: @enterprise.promo_image.url(:medium), status: :ok else invalid_resource!(@enterprise) end diff --git a/spec/controllers/api/v0/enterprises_controller_spec.rb b/spec/controllers/api/v0/enterprises_controller_spec.rb index cff8140784..609b5329af 100644 --- a/spec/controllers/api/v0/enterprises_controller_spec.rb +++ b/spec/controllers/api/v0/enterprises_controller_spec.rb @@ -75,15 +75,24 @@ describe Api::V0::EnterprisesController, type: :controller do end describe "submitting a valid image" do + let!(:logo) { fixture_file_upload("files/logo.png", "image/png") } before do allow(Enterprise) .to receive(:find_by).with({ permalink: enterprise.id.to_s }) { enterprise } - allow(enterprise).to receive(:update).and_return(true) end - it "I can update enterprise image" do - api_post :update_image, logo: 'a logo', id: enterprise.id + it "I can update enterprise logo image" do + api_post :update_image, logo: logo, id: enterprise.id expect(response.status).to eq 200 + expect(response.content_type).to eq "text/html" + expect(response.body).to match %r{/images/enterprises/logos/\d*/medium/logo\.png\?\d*} + end + + it "I can update enterprise promo image" do + api_post :update_image, promo: logo, id: enterprise.id + expect(response.status).to eq 200 + expect(response.content_type).to eq "text/html" + expect(response.body).to match %r{/images/enterprises/promo_images/\d*/medium/logo\.jpg\?\d*} end end end diff --git a/spec/features/consumer/registration_spec.rb b/spec/features/consumer/registration_spec.rb index 9dc76828b5..4975206323 100644 --- a/spec/features/consumer/registration_spec.rb +++ b/spec/features/consumer/registration_spec.rb @@ -100,10 +100,20 @@ feature "Registration", js: true do expect(e.charges_sales_tax).to be true # Images + # Upload logo image + attach_file "image-select", Rails.root.join("spec/fixtures/files/logo.png"), visible: false + expect(page).to have_no_css('#image-placeholder .loading') + expect(page.find('#image-placeholder img')['src']).to_not be_empty + # Move from logo page click_button "Continue" expect(page).to have_content 'Step 3. Select Promo Image' + # Upload promo image + attach_file "image-select", Rails.root.join("spec/fixtures/files/promo.png"), visible: false + expect(page).to have_no_css('#image-placeholder .loading') + expect(page.find('#image-placeholder img')['src']).to_not be_empty + # Move from promo page click_button "Continue" expect(page).to have_content 'How can people find My Awesome Enterprise online?' diff --git a/spec/fixtures/files/logo.png b/spec/fixtures/files/logo.png new file mode 100644 index 0000000000..c8f2fb0098 Binary files /dev/null and b/spec/fixtures/files/logo.png differ diff --git a/spec/fixtures/files/promo.png b/spec/fixtures/files/promo.png new file mode 100644 index 0000000000..6058b26a75 Binary files /dev/null and b/spec/fixtures/files/promo.png differ