Files
openfoodnetwork/spec/controllers/spree/admin/image_settings_controller_spec.rb
2019-10-02 21:26:09 +01:00

67 lines
2.5 KiB
Ruby

require 'spec_helper'
describe Spree::Admin::ImageSettingsController do
include AuthenticationWorkflow
before { login_as_admin }
context "updating image settings" do
it "should be able to update paperclip settings" do
spree_put :update, preferences: { "attachment_path" => "foo/bar", "attachment_default_url" => "baz/bar" }
expect(Spree::Config[:attachment_path]).to eq("foo/bar")
expect(Spree::Config[:attachment_default_url]).to eq("baz/bar")
end
context "paperclip styles" do
it "should be able to update the paperclip styles" do
spree_put :update, "attachment_styles" => { "thumb" => "25x25>" }
updated_styles = ActiveSupport::JSON.decode(Spree::Config[:attachment_styles])
expect(updated_styles["thumb"]).to eq("25x25>")
end
it "should be able to add a new style" do
spree_put :update, "attachment_styles" => {}, "new_attachment_styles" => { "1" => { "name" => "jumbo", "value" => "2000x2000>" } }
styles = ActiveSupport::JSON.decode(Spree::Config[:attachment_styles])
expect(styles["jumbo"]).to eq("2000x2000>")
end
end
context "amazon s3" do
after(:all) do
Spree::Image.attachment_definitions[:attachment].delete :storage
end
it "should be able to update s3 settings" do
spree_put :update, preferences:
{
"use_s3" => "1",
"s3_access_key" => "a_valid_key",
"s3_secret" => "a_secret",
"s3_bucket" => "some_bucket"
}
expect(Spree::Config[:use_s3]).to be_truthy
expect(Spree::Config[:s3_access_key]).to eq("a_valid_key")
expect(Spree::Config[:s3_secret]).to eq("a_secret")
expect(Spree::Config[:s3_bucket]).to eq("some_bucket")
end
context "headers" do
before(:each) { Spree::Config[:use_s3] = true }
it "should be able to update the s3 headers" do
spree_put :update, preferences: { "use_s3" => "1" }, "s3_headers" => { "Cache-Control" => "max-age=1111" }
headers = ActiveSupport::JSON.decode(Spree::Config[:s3_headers])
expect(headers["Cache-Control"]).to eq("max-age=1111")
end
it "should be able to add a new header" do
spree_put :update, "s3_headers" => {}, "new_s3_headers" => { "1" => { "name" => "Charset", "value" => "utf-8" } }
headers = ActiveSupport::JSON.decode(Spree::Config[:s3_headers])
expect(headers["Charset"]).to eq("utf-8")
end
end
end
end
end