spec/rest/client_spec.rb in finapps-1.0.8 vs spec/rest/client_spec.rb in finapps-2.0.2
- old
+ new
@@ -1,122 +1,36 @@
RSpec.describe FinApps::REST::Client do
-
describe '#new' do
-
- context 'when company_identifier is NOT provided' do
- it { expect { FinApps::REST::Client.new nil, :company_token }.to raise_error(FinApps::REST::MissingArgumentsError) }
+ it 'raises for missing company_identifier' do
+ expect { FinApps::REST::Client.new nil, :company_token }.to raise_error(FinApps::MissingArgumentsError)
end
- context 'when company_token is NOT provided' do
- it { expect { FinApps::REST::Client.new :company_identifier, nil }.to raise_error(FinApps::REST::MissingArgumentsError) }
+ it 'raises for missing company_token' do
+ expect { FinApps::REST::Client.new :company_identifier, nil }.to raise_error(FinApps::MissingArgumentsError)
end
-
- context 'when company_identifier is not string or symbol' do
- it { expect { FinApps::REST::Client.new 1, :company_token }.to raise_error(FinApps::REST::InvalidArgumentsError) }
- end
-
- context 'when company_token is not string or symbol' do
- it { expect { FinApps::REST::Client.new :company_identifier, 1 }.to raise_error(FinApps::REST::InvalidArgumentsError) }
- end
-
- context 'when options are not provided' do
- it { expect { FinApps::REST::Client.new :company_identifier, :company_token }.not_to raise_error }
- end
-
end
- context 'after initialized' do
+ context 'an instance of Client' do
+ subject { FinApps::REST::Client.new(:company_identifier, :company_token) }
- let(:client) { FinApps::REST::Client.new(:company_identifier, :company_token) }
-
- [:send_request, :connection, :users, :institutions, :user_institutions, :transactions,
- :categories, :budget_models, :budget_calculation, :budgets, :cashflows, :alert,
- :alert_definition, :alert_preferences, :alert_settings, :rule_sets, :user_credentials!].each do |method|
+ %i(users).each do |method|
it "responds to #{method}" do
- expect(client).to respond_to(method)
+ expect(subject).to respond_to(method)
end
end
describe '#users' do
- it { expect(client.users).to be_an_instance_of(FinApps::REST::Users) }
+ it { expect(subject.users).to be_an_instance_of(FinApps::REST::Users) }
end
- describe '#institutions' do
- it { expect(client.institutions).to be_an_instance_of(FinApps::REST::Institutions) }
- end
-
- describe '#user_institutions' do
- it { expect(client.user_institutions).to be_an_instance_of(FinApps::REST::UserInstitutions) }
- end
-
- describe '#categories' do
- it { expect(client.categories).to be_an_instance_of(FinApps::REST::Categories) }
- end
-
- describe '#budget_models' do
- it { expect(client.budget_models).to be_an_instance_of(FinApps::REST::BudgetModels) }
- end
-
- describe '#budget_calculation' do
- it { expect(client.budget_calculation).to be_an_instance_of(FinApps::REST::BudgetCalculation) }
- end
-
- describe '#budgets' do
- it { expect(client.budgets).to be_an_instance_of(FinApps::REST::Budgets) }
- end
-
- describe '#cashflows' do
- it { expect(client.cashflows).to be_an_instance_of(FinApps::REST::Cashflows) }
- end
-
- describe '#alert' do
- it { expect(client.alert).to be_an_instance_of(FinApps::REST::Alert) }
- end
-
- describe '#alert_definition' do
- it { expect(client.alert_definition).to be_an_instance_of(FinApps::REST::AlertDefinition) }
- end
-
- describe '#alert_preferences' do
- it { expect(client.alert_preferences).to be_an_instance_of(FinApps::REST::AlertPreferences) }
- end
-
- describe '#alert_settings' do
- it { expect(client.alert_settings).to be_an_instance_of(FinApps::REST::AlertSettings) }
- end
-
- describe '#rule_sets' do
- it { expect(client.rule_sets).to be_an_instance_of(FinApps::REST::Relevance::Rulesets) }
- end
-
- describe '#connection' do
- it { expect(client.connection).to be_an_instance_of(Faraday::Connection) }
- end
-
- [:connection, :users, :institutions, :user_institutions, :transactions,
- :categories, :budget_models, :budget_calculation, :budgets, :cashflows, :alert,
- :alert_definition, :alert_preferences, :alert_settings, :rule_sets].each do |method|
+ # [:users, :institutions, :user_institutions, :transactions, :categories,
+ # :budget_models, :budget_calculation, :budgets, :cashflows,
+ # :alert, :alert_definition, :alert_preferences, :alert_settings, :rule_sets]
+ [:users].each do |method|
it "memoizes the result of #{method}" do
- first, second = client.send(method), client.send(method)
+ first = subject.send(method)
+ second = subject.send(method)
expect(first.object_id).to eq(second.object_id)
end
end
-
- describe '#send_request' do
-
- context 'when path is NOT provided' do
- it { expect { client.send_request(nil, :post) }.to raise_error(FinApps::REST::MissingArgumentsError) }
- end
-
- context 'when method is NOT provided' do
- it { expect { client.send_request(:path, nil) }.to raise_error(FinApps::REST::MissingArgumentsError) }
- end
-
- context 'when method is NOT supported' do
- it { expect { client.send_request(:path, :unsupported_method) }.to raise_error(FinApps::REST::InvalidArgumentsError) }
- end
-
- end
-
end
-
-end
\ No newline at end of file
+end