Newer
Older
# Copyright (c) 2010-2011, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
Daniel Vincent Grippi
a validé
describe ApplicationHelper, :type => :helper do
before do
describe "#all_services_connected?" do
before do
def current_user
@current_user
end
@current_user = alice
end
AppConfig.configured_services = nil
it 'returns true if all networks are connected' do
3.times { |t| @current_user.services << FactoryGirl.build(:service) }
expect(all_services_connected?).to be true
end
it 'returns false if not all networks are connected' do
@current_user.services.delete_all
expect(all_services_connected?).to be false
end
end
expect(helper.jquery_include_tag).to match(/jquery\.com/)
end
it 'falls back to asset pipeline on cdn failure' do
expect(helper.jquery_include_tag).to match(/document\.write/)
end
it 'includes jquery.js from asset pipeline' do
expect(helper.jquery_include_tag).to match(/jquery2\.js/)
expect(helper.jquery_include_tag).not_to match(/jquery\.com/)
expect(helper.jquery_include_tag).to match(/jquery_ujs\.js/)
expect(helper.jquery_include_tag).to match(/jQuery\.ajaxSetup/)
describe "#donations_enabled?" do
it "returns false when nothing is set" do
expect(helper.donations_enabled?).to be false
end
it "returns true when the paypal donations is enabled" do
AppConfig.settings.paypal_donations.enable = true
expect(helper.donations_enabled?).to be true
end
it "returns true when the liberapay username is set" do
AppConfig.settings.liberapay_username = "foo"
expect(helper.donations_enabled?).to be true
end
it "returns true when the bitcoin_address is set" do
AppConfig.settings.bitcoin_address = "bar"
expect(helper.donations_enabled?).to be true
end
it "returns true when all the donations are enabled" do
AppConfig.settings.paypal_donations.enable = true
AppConfig.settings.liberapay_username = "foo"
AppConfig.settings.bitcoin_address = "bar"
expect(helper.donations_enabled?).to be true
end
end
let(:changelog_url_setting) {
double.tap {|double| allow(AppConfig).to receive(:settings).and_return(double(changelog_url: double)) }
}
it "defaults to master branch changleog" do
expect(changelog_url_setting).to receive(:present?).and_return(false)
expect(AppConfig).to receive(:git_revision).and_return(nil)
expect(changelog_url).to eq("https://github.com/diaspora/diaspora/blob/master/Changelog.md")
it "displays the changelog for the current git revision if set" do
expect(changelog_url_setting).to receive(:present?).and_return(false)
expect(AppConfig).to receive(:git_revision).twice.and_return("123")
expect(changelog_url).to eq("https://github.com/diaspora/diaspora/blob/123/Changelog.md")
it "displays the configured changelog url if set" do
expect(changelog_url_setting).to receive(:present?).and_return(true)
expect(changelog_url_setting).to receive(:get)
.and_return("https://github.com/diaspora/diaspora/blob/develop/Changelog.md")
expect(AppConfig).not_to receive(:git_revision)
expect(changelog_url).to eq("https://github.com/diaspora/diaspora/blob/develop/Changelog.md")
end
describe '#pod_name' do
it 'defaults to Diaspora*' do
expect(pod_name).to match /DIASPORA/i
it 'displays the supplied pod_name if it is set' do
AppConfig.settings.pod_name = "Catspora"
end
end
describe '#pod_version' do
it 'displays the supplied pod_version if it is set' do
AppConfig.version.number = "0.0.1.0"
expect(pod_version).to match "0.0.1.0"