34 lines
2.1 KiB
Ruby
34 lines
2.1 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe AffiliateDistribution do
|
|
let(:affiliate_partner){ FactoryBot.create(:affiliate_partner) }
|
|
let(:affiliate_distribution1){ FactoryBot.create(:affiliate_distribution, created_at: DateTime.new(2015, 1, 31), product_type: 'Subscription', product_code: 'jamsubsilver', affiliate_referral: affiliate_partner) }
|
|
let(:affiliate_distribution2){ FactoryBot.create(:affiliate_distribution, created_at: DateTime.new(2015, 2, 1), product_type: 'Subscription', product_code: 'jamsubsilver', affiliate_referral: affiliate_partner) }
|
|
let(:affiliate_distribution3){ FactoryBot.create(:affiliate_distribution, created_at: DateTime.new(2015, 2, 2), product_type: 'Subscription', product_code: 'jamsubgold', affiliate_referral: affiliate_partner) }
|
|
let(:affiliate_distribution4){ FactoryBot.create(:affiliate_distribution, created_at: DateTime.new(2015, 2, 3), product_type: 'Subscription', product_code: 'jamsubgold', affiliate_referral: affiliate_partner) }
|
|
let(:affiliate_distribution5){ FactoryBot.create(:affiliate_distribution, created_at: DateTime.new(2015, 2, 7), product_type: 'Subscription', product_code: 'jamsubplatinum', affiliate_referral: affiliate_partner) }
|
|
let(:affiliate_distribution6){ FactoryBot.create(:affiliate_distribution, created_at: DateTime.new(2015, 3, 1), product_type: 'Subscription', product_code: 'jamsubsilver', affiliate_referral: affiliate_partner) }
|
|
|
|
it "gives subscription plans counts for a partner between start and end dates" do
|
|
|
|
affiliate_distribution1.reload
|
|
affiliate_distribution2.reload
|
|
affiliate_distribution3.reload
|
|
affiliate_distribution4.reload
|
|
affiliate_distribution5.reload
|
|
affiliate_distribution6.reload
|
|
|
|
start_date = Date.new(2015, 2, 1)
|
|
end_date = Date.new(2015, 2, 7)
|
|
|
|
expect(AffiliateDistribution.count).to eq(6)
|
|
expect(AffiliateDistribution.subscription_plans_count(affiliate_partner.id, start_date, end_date)).to eq(
|
|
[
|
|
{ plan: 'jamsubsilver', count: 1 },
|
|
{ plan: 'jamsubgold', count: 2 },
|
|
{ plan: 'jamsubplatinum', count: 1 }
|
|
]
|
|
)
|
|
|
|
end
|
|
end |