Sha256: 3beaa38484d7418c66249595d15ddeda78025c0bb0959e5ab7eda739709aa0ce
Contents?: true
Size: 953 Bytes
Versions: 5
Compression:
Stored size: 953 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