Linter fixes

pull/15915/head
Alberto Miedes Garcés 4 years ago
parent ad7c0280ce
commit 500a4bb748

@ -89,6 +89,16 @@ Naming/VariableNumber:
Description: Use the configured style when numbering variables.
Enabled: false
####################
# RSpec
####################
RSpec/AnyInstance:
Enabled: false
RSpec/ExampleLength:
Max: 30
####################
# Style
####################

@ -10,10 +10,10 @@ class Admin::OrganizationUsersController < Admin::AdminController
# Data of single users
ssl_required :profile, :account, :oauth, :api_key, :regenerate_api_key
before_filter :get_config
before_filter :login_required, :check_permissions, :load_organization
before_filter :load_user, only: [:edit, :update, :destroy, :regenerate_api_key]
before_filter :ensure_edit_permissions, only: [:edit, :update, :destroy, :regenerate_api_key]
before_action :get_config
before_action :login_required, :check_permissions, :load_organization
before_action :load_user, only: [:edit, :update, :destroy, :regenerate_api_key]
before_action :ensure_edit_permissions, only: [:edit, :update, :destroy, :regenerate_api_key]
layout 'application'

@ -173,7 +173,10 @@ module Carto
end
def get_group(database_name, name)
Carto::Group.where(organization_id: Carto::Organization.find_by_database_name(database_name).id, name: name).first
# rubocop:disable Rails/DynamicFindBy
organization = Carto::Organization.find_by_database_name(database_name)
# rubocop:enable Rails/DynamicFindBy
Carto::Group.where(organization_id: organization.id, name: name).first
end
def load_mandatory_group

@ -32,7 +32,9 @@ module Carto
# Constructor for groups already existing in the database
def self.new_instance(database_name, name, database_role, display_name = name)
# rubocop:disable Rails/DynamicFindBy
organization = Carto::Organization.find_by_database_name(database_name)
# rubocop:enable Rails/DynamicFindBy
raise "Organization not found for database #{database_name}" unless organization

@ -57,9 +57,9 @@ module Carto
## ./ AR compatibility
def self.find_by_database_name(database_name)
Carto::Organization.
joins('INNER JOIN users ON organizations.owner_id = users.id').
where('users.database_name = ?', database_name).first
Carto::Organization
.joins('INNER JOIN users ON organizations.owner_id = users.id')
.where('users.database_name = ?', database_name).first
end
def default_password_expiration_in_d
@ -99,21 +99,21 @@ module Carto
owner_id == user.id
end
def tags(type, exclude_shared=true)
def tags(type, exclude_shared = true)
users.map { |u| u.tags(exclude_shared, type) }.flatten
end
def public_vis_by_type(type, page_num, items_per_page, tags, order = 'updated_at', version = nil)
CartoDB::Visualization::Collection.new.fetch(
user_id: self.users.map(&:id),
type: type,
privacy: CartoDB::Visualization::Member::PRIVACY_PUBLIC,
page: page_num,
per_page: items_per_page,
tags: tags,
order: order,
o: { updated_at: :desc },
version: version
user_id: users.pluck(:id),
type: type,
privacy: CartoDB::Visualization::Member::PRIVACY_PUBLIC,
page: page_num,
per_page: items_per_page,
tags: tags,
order: order,
o: { updated_at: :desc },
version: version
)
end
@ -177,12 +177,6 @@ module Carto
owner ? owner.max_layers : ::User::DEFAULT_MAX_LAYERS
end
def require_organization_owner_presence!
if owner.nil?
raise Carto::Organization::OrganizationWithoutOwner.new(self)
end
end
def auth_saml_enabled?
auth_saml_configuration.present?
end
@ -207,20 +201,16 @@ module Carto
inherit_owner_ffs ? owner.self_feature_flags : Carto::FeatureFlag.none
end
def dbdirect_effective_ips
owner.dbdirect_effective_ips
end
delegate :dbdirect_effective_ips, to: :owner
def dbdirect_effective_ips=(ips)
owner.dbdirect_effective_ips = ips
end
delegate :dbdirect_effective_ips=, to: :owner
def get_api_calls(options = {})
users.map { |u| u.get_api_calls(options).sum }.sum
end
def require_organization_owner_presence!
raise Carto::Organization::OrganizationWithoutOwner.new(self) unless owner
raise Carto::Organization::OrganizationWithoutOwner, self unless owner
end
# INFO: replacement for destroy because destroying owner triggers

@ -17,30 +17,28 @@ module Carto
#
def overquota(delta = 0)
Carto::Organization.find_each.select do |o|
begin
limit = o.geocoding_quota.to_i - (o.geocoding_quota.to_i * delta)
over_geocodings = o.get_geocoding_calls > limit
limit = o.here_isolines_quota.to_i - (o.here_isolines_quota.to_i * delta)
over_here_isolines = o.get_here_isolines_calls > limit
limit = o.obs_snapshot_quota.to_i - (o.obs_snapshot_quota.to_i * delta)
over_obs_snapshot = o.get_obs_snapshot_calls > limit
limit = o.obs_general_quota.to_i - (o.obs_general_quota.to_i * delta)
over_obs_general = o.get_obs_general_calls > limit
limit = o.twitter_datasource_quota.to_i - (o.twitter_datasource_quota.to_i * delta)
over_twitter_imports = o.twitter_imports_count > limit
limit = o.mapzen_routing_quota.to_i - (o.mapzen_routing_quota.to_i * delta)
over_mapzen_routing = o.get_mapzen_routing_calls > limit
(over_geocodings ||
over_twitter_imports ||
over_here_isolines ||
over_obs_snapshot ||
over_obs_general ||
over_mapzen_routing)
rescue Carto::Organization::OrganizationWithoutOwner => e
log_warning(message: 'Skipping inconsistent organization', organization: o, exception: e)
false
end
limit = o.geocoding_quota.to_i - (o.geocoding_quota.to_i * delta)
over_geocodings = o.get_geocoding_calls > limit
limit = o.here_isolines_quota.to_i - (o.here_isolines_quota.to_i * delta)
over_here_isolines = o.get_here_isolines_calls > limit
limit = o.obs_snapshot_quota.to_i - (o.obs_snapshot_quota.to_i * delta)
over_obs_snapshot = o.get_obs_snapshot_calls > limit
limit = o.obs_general_quota.to_i - (o.obs_general_quota.to_i * delta)
over_obs_general = o.get_obs_general_calls > limit
limit = o.twitter_datasource_quota.to_i - (o.twitter_datasource_quota.to_i * delta)
over_twitter_imports = o.twitter_imports_count > limit
limit = o.mapzen_routing_quota.to_i - (o.mapzen_routing_quota.to_i * delta)
over_mapzen_routing = o.get_mapzen_routing_calls > limit
(over_geocodings ||
over_twitter_imports ||
over_here_isolines ||
over_obs_snapshot ||
over_obs_general ||
over_mapzen_routing)
rescue Carto::Organization::OrganizationWithoutOwner => e
log_warning(message: 'Skipping inconsistent organization', organization: o, exception: e)
false
end
end
end

@ -4,38 +4,37 @@ require 'helpers/unique_names_helper'
include UniqueNamesHelper
FactoryGirl.define do
factory :organization, class: Carto::Organization do
factory :organization, class: 'Carto::Organization' do
name { unique_name('organization') }
seats 10
quota_in_bytes 100.megabytes
geocoding_quota 1000
here_isolines_quota 1000
obs_snapshot_quota 1000
obs_general_quota 1000
map_view_quota 100000
website 'carto.com'
description 'Lorem ipsum dolor sit amet'
display_name 'Vizzuality Inc'
discus_shortname 'cartodb'
twitter_username 'cartodb'
location 'Madrid'
builder_enabled false # Most tests still assume editor
geocoder_provider 'heremaps'
isolines_provider 'heremaps'
routing_provider 'heremaps'
seats { 10 }
quota_in_bytes { 100.megabytes }
geocoding_quota { 1000 }
here_isolines_quota { 1000 }
obs_snapshot_quota { 1000 }
obs_general_quota { 1000 }
map_view_quota { 100_000 }
website { 'carto.com' }
description { 'Lorem ipsum dolor sit amet' }
display_name { 'Vizzuality Inc' }
discus_shortname { 'cartodb' }
twitter_username { 'cartodb' }
location { 'Madrid' }
builder_enabled { false } # Most tests still assume editor
geocoder_provider { 'heremaps' }
isolines_provider { 'heremaps' }
routing_provider { 'heremaps' }
factory :organization_whitelist_carto, class: Carto::Organization do
whitelisted_email_domains ['carto.com']
auth_username_password_enabled true
factory :organization_whitelist_carto, class: 'Carto::Organization' do
whitelisted_email_domains { ['carto.com'] }
auth_username_password_enabled { true }
end
factory :organization_google_whitelist_empty, class: Carto::Organization do
whitelisted_email_domains []
auth_google_enabled true
factory :organization_google_whitelist_empty, class: 'Carto::Organization' do
whitelisted_email_domains { [] }
auth_google_enabled { true }
end
factory :organization_with_users, class: Carto::Organization do
factory :organization_with_users, class: 'Carto::Organization' do
after(:create) do |org|
create_account_type_fg('ORGANIZATION USER')
owner = FactoryGirl.create(:user)
@ -50,7 +49,7 @@ FactoryGirl.define do
end
trait :mfa_enabled do
auth_username_password_enabled true
auth_username_password_enabled { true }
after :create do |org|
Carto::Organization.find(org.id).users.each do |user|
@ -61,7 +60,7 @@ FactoryGirl.define do
end
end
factory :saml_organization, class: Carto::Organization do
factory :saml_organization, class: 'Carto::Organization' do
auth_saml_configuration do
{
issuer: 'localhost.lan',
@ -75,22 +74,22 @@ FactoryGirl.define do
end
end
factory :carto_organization, class: Carto::Organization do
factory :carto_organization, class: 'Carto::Organization' do
name { unique_name('organization') }
seats 10
quota_in_bytes 100.megabytes
geocoding_quota 1000
here_isolines_quota 1000
obs_snapshot_quota 1000
obs_general_quota 1000
map_view_quota 100000
website 'carto.com'
description 'Lorem ipsum dolor sit amet'
display_name 'Vizzuality Inc'
discus_shortname 'cartodb'
twitter_username 'cartodb'
location 'Madrid'
builder_enabled false # Most tests still assume editor
seats { 10 }
quota_in_bytes { 100.megabytes }
geocoding_quota { 1000 }
here_isolines_quota { 1000 }
obs_snapshot_quota { 1000 }
obs_general_quota { 1000 }
map_view_quota { 100_000 }
website { 'carto.com' }
description { 'Lorem ipsum dolor sit amet' }
display_name { 'Vizzuality Inc' }
discus_shortname { 'cartodb' }
twitter_username { 'cartodb' }
location { 'Madrid' }
builder_enabled { false } # Most tests still assume editor
end
end
end

@ -8,7 +8,7 @@ describe Carto::Organization do
it_behaves_like 'organization models' do
before(:each) do
# INFO: forcing ActiveRecord initialization so expectations on number of queries don't count AR queries
@the_organization = Carto::Organization.where(id: @organization.id).first
@the_organization = described_class.where(id: @organization.id).first
@the_organization.owner
Carto::SearchTweet.count
Carto::Geocoding.count
@ -32,7 +32,7 @@ describe Carto::Organization do
describe '#destroy' do
before(:each) do
@organization = Carto::Organization.find(create(:organization).id)
@organization = described_class.find(create(:organization).id)
end
it 'destroys its groups through the extension' do
@ -62,137 +62,137 @@ describe Carto::Organization do
end
it 'should return organizations over their geocoding quota' do
Carto::Organization.any_instance.stubs(:get_api_calls).returns(0)
Carto::Organization.any_instance.stubs(:map_view_quota).returns(10)
Carto::Organization.any_instance.stubs(:get_geocoding_calls).returns 30
Carto::Organization.any_instance.stubs(:geocoding_quota).returns 10
described_class.any_instance.stubs(:get_api_calls).returns(0)
described_class.any_instance.stubs(:map_view_quota).returns(10)
described_class.any_instance.stubs(:get_geocoding_calls).returns 30
described_class.any_instance.stubs(:geocoding_quota).returns 10
expect(Carto::Organization.overquota).not_to include(organization)
expect(Carto::Organization.overquota).to include(overquota_organization)
expect(described_class.overquota).not_to include(organization)
expect(described_class.overquota).to include(overquota_organization)
end
it 'should return organizations over their here isolines quota' do
Carto::Organization.any_instance.stubs(:get_api_calls).returns(0)
Carto::Organization.any_instance.stubs(:map_view_quota).returns(10)
Carto::Organization.any_instance.stubs(:get_geocoding_calls).returns 0
Carto::Organization.any_instance.stubs(:geocoding_quota).returns 10
Carto::Organization.any_instance.stubs(:get_here_isolines_calls).returns 30
Carto::Organization.any_instance.stubs(:here_isolines_quota).returns 10
described_class.any_instance.stubs(:get_api_calls).returns(0)
described_class.any_instance.stubs(:map_view_quota).returns(10)
described_class.any_instance.stubs(:get_geocoding_calls).returns 0
described_class.any_instance.stubs(:geocoding_quota).returns 10
described_class.any_instance.stubs(:get_here_isolines_calls).returns 30
described_class.any_instance.stubs(:here_isolines_quota).returns 10
expect(Carto::Organization.overquota).not_to include(organization)
expect(Carto::Organization.overquota).to include(overquota_organization)
expect(described_class.overquota).not_to include(organization)
expect(described_class.overquota).to include(overquota_organization)
end
it 'should return organizations over their data observatory snapshot quota' do
Carto::Organization.any_instance.stubs(:get_api_calls).returns(0)
Carto::Organization.any_instance.stubs(:map_view_quota).returns(10)
Carto::Organization.any_instance.stubs(:get_geocoding_calls).returns 0
Carto::Organization.any_instance.stubs(:geocoding_quota).returns 10
Carto::Organization.any_instance.stubs(:get_obs_snapshot_calls).returns 30
Carto::Organization.any_instance.stubs(:obs_snapshot_quota).returns 10
described_class.any_instance.stubs(:get_api_calls).returns(0)
described_class.any_instance.stubs(:map_view_quota).returns(10)
described_class.any_instance.stubs(:get_geocoding_calls).returns 0
described_class.any_instance.stubs(:geocoding_quota).returns 10
described_class.any_instance.stubs(:get_obs_snapshot_calls).returns 30
described_class.any_instance.stubs(:obs_snapshot_quota).returns 10
expect(Carto::Organization.overquota).not_to include(organization)
expect(Carto::Organization.overquota).to include(overquota_organization)
expect(described_class.overquota).not_to include(organization)
expect(described_class.overquota).to include(overquota_organization)
end
it 'should return organizations over their data observatory general quota' do
Carto::Organization.any_instance.stubs(:get_api_calls).returns(0)
Carto::Organization.any_instance.stubs(:map_view_quota).returns(10)
Carto::Organization.any_instance.stubs(:get_geocoding_calls).returns 0
Carto::Organization.any_instance.stubs(:geocoding_quota).returns 10
Carto::Organization.any_instance.stubs(:get_obs_snapshot_calls).returns 0
Carto::Organization.any_instance.stubs(:obs_snapshot_quota).returns 10
Carto::Organization.any_instance.stubs(:get_obs_general_calls).returns 30
Carto::Organization.any_instance.stubs(:obs_general_quota).returns 10
described_class.any_instance.stubs(:get_api_calls).returns(0)
described_class.any_instance.stubs(:map_view_quota).returns(10)
described_class.any_instance.stubs(:get_geocoding_calls).returns 0
described_class.any_instance.stubs(:geocoding_quota).returns 10
described_class.any_instance.stubs(:get_obs_snapshot_calls).returns 0
described_class.any_instance.stubs(:obs_snapshot_quota).returns 10
described_class.any_instance.stubs(:get_obs_general_calls).returns 30
described_class.any_instance.stubs(:obs_general_quota).returns 10
expect(Carto::Organization.overquota).not_to include(organization)
expect(Carto::Organization.overquota).to include(overquota_organization)
expect(described_class.overquota).not_to include(organization)
expect(described_class.overquota).to include(overquota_organization)
end
it 'should return organizations near their geocoding quota' do
Carto::Organization.any_instance.stubs(:get_api_calls).returns(0)
Carto::Organization.any_instance.stubs(:map_view_quota).returns(120)
Carto::Organization.any_instance.stubs(:get_geocoding_calls).returns(81)
Carto::Organization.any_instance.stubs(:geocoding_quota).returns(100)
described_class.any_instance.stubs(:get_api_calls).returns(0)
described_class.any_instance.stubs(:map_view_quota).returns(120)
described_class.any_instance.stubs(:get_geocoding_calls).returns(81)
described_class.any_instance.stubs(:geocoding_quota).returns(100)
expect(Carto::Organization.overquota).to be_empty
expect(Carto::Organization.overquota(0.20)).not_to include(organization)
expect(Carto::Organization.overquota(0.20)).to include(overquota_organization)
expect(Carto::Organization.overquota(0.10)).to be_empty
expect(described_class.overquota).to be_empty
expect(described_class.overquota(0.20)).not_to include(organization)
expect(described_class.overquota(0.20)).to include(overquota_organization)
expect(described_class.overquota(0.10)).to be_empty
end
it 'should return organizations near their here isolines quota' do
Carto::Organization.any_instance.stubs(:get_api_calls).returns(0)
Carto::Organization.any_instance.stubs(:map_view_quota).returns(120)
Carto::Organization.any_instance.stubs(:get_geocoding_calls).returns(0)
Carto::Organization.any_instance.stubs(:geocoding_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_here_isolines_calls).returns(81)
Carto::Organization.any_instance.stubs(:here_isolines_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_obs_snapshot_calls).returns(0)
Carto::Organization.any_instance.stubs(:obs_snapshot_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_obs_general_calls).returns(0)
Carto::Organization.any_instance.stubs(:obs_general_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_mapzen_routing_calls).returns(81)
Carto::Organization.any_instance.stubs(:mapzen_routing_quota).returns(100)
expect(Carto::Organization.overquota).to be_empty
expect(Carto::Organization.overquota(0.20)).not_to include(organization)
expect(Carto::Organization.overquota(0.20)).to include(overquota_organization)
expect(Carto::Organization.overquota(0.10)).to be_empty
described_class.any_instance.stubs(:get_api_calls).returns(0)
described_class.any_instance.stubs(:map_view_quota).returns(120)
described_class.any_instance.stubs(:get_geocoding_calls).returns(0)
described_class.any_instance.stubs(:geocoding_quota).returns(100)
described_class.any_instance.stubs(:get_here_isolines_calls).returns(81)
described_class.any_instance.stubs(:here_isolines_quota).returns(100)
described_class.any_instance.stubs(:get_obs_snapshot_calls).returns(0)
described_class.any_instance.stubs(:obs_snapshot_quota).returns(100)
described_class.any_instance.stubs(:get_obs_general_calls).returns(0)
described_class.any_instance.stubs(:obs_general_quota).returns(100)
described_class.any_instance.stubs(:get_mapzen_routing_calls).returns(81)
described_class.any_instance.stubs(:mapzen_routing_quota).returns(100)
expect(described_class.overquota).to be_empty
expect(described_class.overquota(0.20)).not_to include(organization)
expect(described_class.overquota(0.20)).to include(overquota_organization)
expect(described_class.overquota(0.10)).to be_empty
end
it 'should return organizations near their data observatory snapshot quota' do
Carto::Organization.any_instance.stubs(:get_api_calls).returns(0)
Carto::Organization.any_instance.stubs(:map_view_quota).returns(120)
Carto::Organization.any_instance.stubs(:get_geocoding_calls).returns(0)
Carto::Organization.any_instance.stubs(:geocoding_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_here_isolines_calls).returns(0)
Carto::Organization.any_instance.stubs(:here_isolines_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_obs_general_calls).returns(0)
Carto::Organization.any_instance.stubs(:obs_general_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_obs_snapshot_calls).returns(81)
Carto::Organization.any_instance.stubs(:obs_snapshot_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_mapzen_routing_calls).returns(0)
Carto::Organization.any_instance.stubs(:mapzen_routing_quota).returns(100)
expect(Carto::Organization.overquota).to be_empty
expect(Carto::Organization.overquota(0.20)).not_to include(organization)
expect(Carto::Organization.overquota(0.20)).to include(overquota_organization)
expect(Carto::Organization.overquota(0.10)).to be_empty
described_class.any_instance.stubs(:get_api_calls).returns(0)
described_class.any_instance.stubs(:map_view_quota).returns(120)
described_class.any_instance.stubs(:get_geocoding_calls).returns(0)
described_class.any_instance.stubs(:geocoding_quota).returns(100)
described_class.any_instance.stubs(:get_here_isolines_calls).returns(0)
described_class.any_instance.stubs(:here_isolines_quota).returns(100)
described_class.any_instance.stubs(:get_obs_general_calls).returns(0)
described_class.any_instance.stubs(:obs_general_quota).returns(100)
described_class.any_instance.stubs(:get_obs_snapshot_calls).returns(81)
described_class.any_instance.stubs(:obs_snapshot_quota).returns(100)
described_class.any_instance.stubs(:get_mapzen_routing_calls).returns(0)
described_class.any_instance.stubs(:mapzen_routing_quota).returns(100)
expect(described_class.overquota).to be_empty
expect(described_class.overquota(0.20)).not_to include(organization)
expect(described_class.overquota(0.20)).to include(overquota_organization)
expect(described_class.overquota(0.10)).to be_empty
end
it 'should return organizations near their data observatory general quota' do
Carto::Organization.any_instance.stubs(:get_api_calls).returns(0)
Carto::Organization.any_instance.stubs(:map_view_quota).returns(120)
Carto::Organization.any_instance.stubs(:get_geocoding_calls).returns(0)
Carto::Organization.any_instance.stubs(:geocoding_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_here_isolines_calls).returns(0)
Carto::Organization.any_instance.stubs(:here_isolines_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_obs_snapshot_calls).returns(0)
Carto::Organization.any_instance.stubs(:obs_snapshot_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_obs_general_calls).returns(81)
Carto::Organization.any_instance.stubs(:obs_general_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_mapzen_routing_calls).returns(0)
Carto::Organization.any_instance.stubs(:mapzen_routing_quota).returns(100)
expect(Carto::Organization.overquota).to be_empty
expect(Carto::Organization.overquota(0.20)).not_to include(organization)
expect(Carto::Organization.overquota(0.20)).to include(overquota_organization)
expect(Carto::Organization.overquota(0.10)).to be_empty
described_class.any_instance.stubs(:get_api_calls).returns(0)
described_class.any_instance.stubs(:map_view_quota).returns(120)
described_class.any_instance.stubs(:get_geocoding_calls).returns(0)
described_class.any_instance.stubs(:geocoding_quota).returns(100)
described_class.any_instance.stubs(:get_here_isolines_calls).returns(0)
described_class.any_instance.stubs(:here_isolines_quota).returns(100)
described_class.any_instance.stubs(:get_obs_snapshot_calls).returns(0)
described_class.any_instance.stubs(:obs_snapshot_quota).returns(100)
described_class.any_instance.stubs(:get_obs_general_calls).returns(81)
described_class.any_instance.stubs(:obs_general_quota).returns(100)
described_class.any_instance.stubs(:get_mapzen_routing_calls).returns(0)
described_class.any_instance.stubs(:mapzen_routing_quota).returns(100)
expect(described_class.overquota).to be_empty
expect(described_class.overquota(0.20)).not_to include(organization)
expect(described_class.overquota(0.20)).to include(overquota_organization)
expect(described_class.overquota(0.10)).to be_empty
end
it 'should return organizations over their mapzen routing quota' do
Carto::Organization.any_instance.stubs(:get_api_calls).returns(0)
Carto::Organization.any_instance.stubs(:map_view_quota).returns(10)
Carto::Organization.any_instance.stubs(:get_geocoding_calls).returns 0
Carto::Organization.any_instance.stubs(:geocoding_quota).returns 10
Carto::Organization.any_instance.stubs(:get_here_isolines_calls).returns(0)
Carto::Organization.any_instance.stubs(:here_isolines_quota).returns(100)
Carto::Organization.any_instance.stubs(:get_mapzen_routing_calls).returns 30
Carto::Organization.any_instance.stubs(:mapzen_routing_quota).returns 10
expect(Carto::Organization.overquota(0.20)).not_to include(organization)
expect(Carto::Organization.overquota(0.20)).to include(overquota_organization)
described_class.any_instance.stubs(:get_api_calls).returns(0)
described_class.any_instance.stubs(:map_view_quota).returns(10)
described_class.any_instance.stubs(:get_geocoding_calls).returns 0
described_class.any_instance.stubs(:geocoding_quota).returns 10
described_class.any_instance.stubs(:get_here_isolines_calls).returns(0)
described_class.any_instance.stubs(:here_isolines_quota).returns(100)
described_class.any_instance.stubs(:get_mapzen_routing_calls).returns 30
described_class.any_instance.stubs(:mapzen_routing_quota).returns 10
expect(described_class.overquota(0.20)).not_to include(organization)
expect(described_class.overquota(0.20)).to include(overquota_organization)
end
end
end

Loading…
Cancel
Save