add validator for the 'reply_by_email_enabled' site setting

This commit is contained in:
Régis Hanol
2016-02-09 23:35:40 +01:00
parent 13983c2f80
commit 8944d62aa6
4 changed files with 59 additions and 1 deletions

View File

@ -0,0 +1,31 @@
require 'rails_helper'
describe ReplyByEmailEnabledValidator do
describe '#valid_value?' do
subject(:validator) { described_class.new }
it "only validates when enabling the setting" do
expect(validator.valid_value?("f")).to eq(true)
end
it "returns false if reply_by_email_address is missing" do
SiteSetting.expects(:reply_by_email_address).returns("")
expect(validator.valid_value?("t")).to eq(false)
end
it "returns false if POP3 polling is disabled" do
SiteSetting.expects(:reply_by_email_address).returns("foo.%{reply_key}+42@bar.com")
SiteSetting.expects(:pop3_polling_enabled).returns(false)
expect(validator.valid_value?("t")).to eq(false)
end
it "returns true when POP3 polling is enabled and the reply_by_email_address is configured" do
SiteSetting.expects(:reply_by_email_address).returns("foo.%{reply_key}+42@bar.com")
SiteSetting.expects(:pop3_polling_enabled).returns(true)
expect(validator.valid_value?("t")).to eq(true)
end
end
end