diff --git a/ruby/lib/jam_ruby.rb b/ruby/lib/jam_ruby.rb index ef426e9a8..f596d402d 100755 --- a/ruby/lib/jam_ruby.rb +++ b/ruby/lib/jam_ruby.rb @@ -140,6 +140,7 @@ require "jam_ruby/models/email_batch_set" require "jam_ruby/models/email_error" require "jam_ruby/app/mailers/async_mailer" require "jam_ruby/app/mailers/batch_mailer" +require "jam_ruby/models/affiliate_partner" include Jampb diff --git a/ruby/spec/jam_ruby/models/affiliate_partner_spec.rb b/ruby/spec/jam_ruby/models/affiliate_partner_spec.rb new file mode 100644 index 000000000..4a9843aab --- /dev/null +++ b/ruby/spec/jam_ruby/models/affiliate_partner_spec.rb @@ -0,0 +1,31 @@ +require 'spec_helper' + +describe AffiliatePartner do + + let!(:user) { FactoryGirl.create(:user) } + let!(:partner) { + AffiliatePartner.create_with_params({:partner_name => Faker::Company.name, + :partner_code => Faker::Lorem.word, + :user_email => user.email}) + } + + it 'validates required fields' do + expect(partner.referral_user_count).to eq(0) + expect(partner.partner_user).to eq(user) + user.reload + expect(user.affiliate_partner).to eq(partner) + end + + it 'has user referrals' do + expect(AffiliatePartner.coded_id(partner.partner_code)).to eq(partner.id) + expect(partner.referral_user_count).to eq(0) + uu = FactoryGirl.create(:user) + uu.affiliate_referral = partner + uu.save + partner.reload + expect(uu.affiliate_referral).to eq(partner) + expect(partner.referral_user_count).to eq(1) + expect(partner.user_referrals[0]).to eq(uu) + end + +end