Files
openfoodnetwork/spec/controllers/spree/admin/image_settings_controller_spec.rb

69 lines
2.5 KiB
Ruby

require 'spec_helper'
describe Spree::Admin::ImageSettingsController do
stub_authorization!
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"
}
}
Spree::Config[:attachment_path].should == "foo/bar"
Spree::Config[:attachment_default_url].should == "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])
updated_styles["thumb"].should == "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])
styles["jumbo"].should == "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"
}
}
Spree::Config[:use_s3].should be_true
Spree::Config[:s3_access_key].should == "a_valid_key"
Spree::Config[:s3_secret].should == "a_secret"
Spree::Config[:s3_bucket].should == "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])
headers["Cache-Control"].should == "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])
headers["Charset"].should == "utf-8"
end
end
end
end
end