spec/rest/screenings_spec.rb in finapps-5.1.0 vs spec/rest/screenings_spec.rb in finapps-5.2.0
- old
+ new
@@ -4,16 +4,16 @@
require 'rest/api_request'
RSpec.describe FinApps::REST::Screenings do
include SpecHelpers::Client
+ let(:results) { subject[0] }
+ let(:error_messages) { subject[1] }
+
describe '#list' do
subject(:list) { described_class.new(client).list(params) }
- let(:results) { list[0] }
- let(:error_messages) { list[1] }
-
context 'with valid params' do
let(:params) do
{
page: 2,
sort: 'date_created',
@@ -77,13 +77,10 @@
end
describe '#show' do
subject(:show) { described_class.new(client).show(id) }
- let(:results) { show[0] }
- let(:error_messages) { show[1] }
-
context 'with valid id' do
let(:id) { :valid_id }
it_behaves_like 'an API request'
it_behaves_like 'a successful request'
@@ -104,16 +101,40 @@
it_behaves_like 'a request that raises an error'
end
end
+ describe '#last' do
+ subject(:last) { described_class.new(client).last(consumer_id) }
+
+ context 'with valid consumer_id' do
+ let(:consumer_id) { :valid_consumer_id }
+
+ it_behaves_like 'an API request'
+ it_behaves_like 'a successful request'
+ it('results have an :s_id node') do
+ expect(results).to have_key(:s_id)
+ end
+ end
+
+ context 'with invalid consumer_id' do
+ let(:consumer_id) { :invalid_consumer_id }
+
+ it { expect(results).to be_nil }
+ it { expect(error_messages).not_to be_empty }
+ end
+
+ context 'when missing consumer_id' do
+ let(:consumer_id) { nil }
+
+ it_behaves_like 'a request that raises an error'
+ end
+ end
+
describe '#create' do
subject(:create) { described_class.new(client).create(params) }
- let(:results) { create[0] }
- let(:error_messages) { create[1] }
-
context 'with valid params' do
let(:params) do
{
email: 'validemail@financialapps.com',
first_name: 'Geo',
@@ -151,12 +172,10 @@
describe '#update' do
subject(:update) { described_class.new(client).update(id, params) }
let(:params) { {} }
- let(:results) { update[0] }
- let(:error_messages) { update[1] }
context 'with valid session id' do
let(:id) { :valid_id }
context 'with valid params' do
@@ -196,12 +215,9 @@
end
end
describe '#destroy' do
subject(:destroy) { described_class.new(client).destroy(id) }
-
- let(:results) { destroy[0] }
- let(:error_messages) { destroy[1] }
context 'with valid session id' do
let(:id) { :valid_id }
it_behaves_like 'an API request'