spec/rest/orders_spec.rb in finapps-2.0.20 vs spec/rest/orders_spec.rb in finapps-2.0.21
- old
+ new
@@ -27,6 +27,51 @@
it('returns an array') { expect(subject).to be_a(Array) }
it('performs a get and returns the response') { expect(subject[0]).to respond_to(:orders) }
it('returns no error messages') { expect(subject[1]).to be_empty }
end
end
+
+ describe '#update' do
+ subject(:orders) { FinApps::REST::Orders.new(client) }
+
+ context 'when missing id' do
+ let(:update) { subject.update(nil, :params) }
+ it ('returns missing argument error') { expect { update }.to raise_error(FinApps::MissingArgumentsError) }
+ end
+
+ context 'when missing params' do
+ let(:update) { subject.update(:id, nil) }
+ it ('returns missing argument error') { expect { update }.to raise_error(FinApps::MissingArgumentsError) }
+ end
+
+ context 'when valid id and params are provided' do
+ let(:update) { subject.update('valid_id', {accounts: 'valid_account'}) } #how to stub params
+ let(:results) { update[0] }
+ let(:error_messages) { update[1] }
+
+ it { expect { update }.not_to raise_error }
+ it('results is nil') { expect(results).to be_nil }
+ it('error_messages array is empty') { expect(error_messages).to eq([]) }
+ end
+
+ context 'when invalid id is provided' do
+ let(:update) { subject.update('invalid_id', :params) }
+ let(:results) { update[0] }
+ let(:error_messages) { update[1] }
+
+ it { expect { update }.not_to raise_error }
+ it('results is nil') { expect(results).to be_nil }
+ it('error messages array is populated') { expect(error_messages.first.downcase).to eq('resource not found') }
+ end
+
+ context 'when invalid params are provided' do
+ let(:update) { subject.update('valid_id', {accounts: 'invalid_account'}) }
+ let(:results) { update[0] }
+ let(:error_messages) { update[1] }
+
+ it { expect { update }.not_to raise_error }
+ it('results is nil') { expect(results).to be_nil }
+ it('error messages array is populated') { expect(error_messages.first.downcase).to eq('invalid request body') }
+
+ end
+ end
end