Sha256: e0c7d8055252a90c098f079c45b118905d6f75bb9d03b6d9fb9f88065a3c5238
Contents?: true
Size: 956 Bytes
Versions: 5
Compression:
Stored size: 956 Bytes
Contents
# frozen_string_literal: true RSpec.describe SoapyCake::Affiliate do let(:affiliate_id) { 42 } let(:opts) { { a: 1 } } let(:cake_opts) { opts.merge(affiliate_id: affiliate_id) } subject(:affiliate) { described_class.new(affiliate_id: affiliate_id) } shared_examples_for 'a cake affiliate method' do it 'runs the request' do request = instance_double(SoapyCake::Request) expect(SoapyCake::Request).to receive(:new) .with(:affiliate, service, method, cake_opts).and_return(request) # rubocop:disable RSpec/SubjectStub expect(affiliate).to receive(:run).with(request) affiliate.public_send(method, opts) end end describe '#bills' do let(:service) { :reports } let(:method) { :bills } it_behaves_like 'a cake affiliate method' end describe '#offer_feed' do let(:service) { :offers } let(:method) { :offer_feed } it_behaves_like 'a cake affiliate method' end end
Version data entries
5 entries across 5 versions & 1 rubygems