mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
bring 2 specs from spree_backend to cover image_settings page and mail_methods page
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
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
|
||||
|
||||
24
spec/controllers/spree/admin/mail_methods_controller_spec.rb
Normal file
24
spec/controllers/spree/admin/mail_methods_controller_spec.rb
Normal file
@@ -0,0 +1,24 @@
|
||||
require 'spec_helper'
|
||||
|
||||
describe Spree::Admin::MailMethodsController do
|
||||
stub_authorization!
|
||||
|
||||
context "#update" do
|
||||
it "should reinitialize the mail settings" do
|
||||
Spree::Core::MailSettings.should_receive(:init)
|
||||
spree_put :update, { :enable_mail_delivery => "1", :mails_from => "spree@example.com" }
|
||||
end
|
||||
end
|
||||
|
||||
it "can trigger testmail" do
|
||||
request.env["HTTP_REFERER"] = "/"
|
||||
user = double('User', email: 'user@spree.com', spree_api_key: 'fake')
|
||||
controller.stub(:try_spree_current_user => user)
|
||||
Spree::Config[:enable_mail_delivery] = "1"
|
||||
ActionMailer::Base.perform_deliveries = true
|
||||
|
||||
expect {
|
||||
spree_post :testmail
|
||||
}.to change { ActionMailer::Base.deliveries.size }.by(1)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user