From 6677543de0dba2aca0a8b435867af604e96efd68 Mon Sep 17 00:00:00 2001 From: luisramos0 Date: Tue, 17 Sep 2019 17:55:00 +0100 Subject: [PATCH] bring 2 specs from spree_backend to cover image_settings page and mail_methods page --- .../admin/image_settings_controller_spec.rb | 68 +++++++++++++++++++ .../admin/mail_methods_controller_spec.rb | 24 +++++++ 2 files changed, 92 insertions(+) create mode 100644 spec/controllers/spree/admin/image_settings_controller_spec.rb create mode 100644 spec/controllers/spree/admin/mail_methods_controller_spec.rb diff --git a/spec/controllers/spree/admin/image_settings_controller_spec.rb b/spec/controllers/spree/admin/image_settings_controller_spec.rb new file mode 100644 index 0000000000..ab8d6a77df --- /dev/null +++ b/spec/controllers/spree/admin/image_settings_controller_spec.rb @@ -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 + diff --git a/spec/controllers/spree/admin/mail_methods_controller_spec.rb b/spec/controllers/spree/admin/mail_methods_controller_spec.rb new file mode 100644 index 0000000000..ce01e75864 --- /dev/null +++ b/spec/controllers/spree/admin/mail_methods_controller_spec.rb @@ -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