Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'spec_helper'
- describe Member do
- it "should authenticate with matching username and password" do
- user = Factory(:member)
- Member.find_by_email('foo1@example.com').should == user
- end
- describe "references" do
- before(:each) do
- @user = Factory(:member)
- @user_two = Factory(:member, :parent_id=>@user.id)
- @user_three = Factory(:member, :parent_id=>@user_two.id)
- @user_four = Factory(:member, :parent_id=>@user_three.id)
- @user_five = Factory(:member, :parent_id=>@user_four.id)
- 20.times do
- Factory(:member, :parent_id=>@user.id)
- end
- 5.times do
- Factory(:member, :parent_id=>@user_five.id)
- end
- @uwtc_pre_pre = Factory(:member)
- @uwtc_pre = Factory(:member, :parent_id=>@uwtc_pre_pre.id)
- @uwtc = Factory(:member, :parent_id=>@uwtc_pre.id)
- @uwtc1 = Factory(:member, :parent_id=>@uwtc.id)
- @uwtc11 = Factory(:member, :parent_id=> @uwtc1.id)
- @uwtc111 = Factory(:member, :parent_id=>@uwtc11.id)
- @uwtc1111 = Factory(:member, :parent_id=>@uwtc111.id)
- @uwtc2 = Factory(:member, :parent_id=>@uwtc.id)
- @uwtc22 = Factory(:member, :parent_id=>@uwtc2.id)
- @uwtc222 = Factory(:member, :parent_id=>@uwtc22.id)
- @uwtc2222 = Factory(:member, :parent_id=>@uwtc222.id)
- @uwtc3 = Factory(:member, :parent_id=>@uwtc.id)
- @uwtc33 = Factory(:member, :parent_id=>@uwtc3.id)
- @uwtc333 = Factory(:member, :parent_id=>@uwtc33.id)
- @uwtc3333 = Factory(:member, :parent_id=>@uwtc333.id)
- @uwtc4 = Factory(:member, :parent_id=>@uwtc.id)
- @uwtc44 = Factory(:member, :parent_id=>@uwtc4.id)
- @uwtc444 = Factory(:member, :parent_id=>@uwtc44.id)
- @uwtc4444 = Factory(:member, :parent_id=>@uwtc444.id)
- end
- describe "4 set 3 kid user" do
- it "should have 12 descdendents" do
- @uwtc.child_level(@uwtc, 3).uniq.count.should == 12
- end
- it "should have 9 descdendents" do
- @uwtc_pre.child_level(@uwtc_pre, 3).uniq.count.should == 9
- end
- it "should have 9 descdendents" do
- @uwtc_pre_pre.child_level(@uwtc_pre_pre, 3).uniq.count.should == 6
- end
- end
- it "should have a reference_url afer creating member" do
- @user.reference_url.should_not be_nil
- end
- it "should make member a be a referal of member b if member b signs up via member a's link" do
- @user.children.should include(@user_two)
- end
- it "should do an MLM style thing where if user the references of my references should be included in my reference score" do
- @user.all_children.should include(@user_three)
- end
- it "should have a method just for direct references" do
- @user.children.should_not include(@user_three)
- end
- it "should run 3 levels deep" do
- @user.all_children.should include(@user_four)
- end
- it "should not run 4 levels deep" do
- @user.child_level(@user, 4).should_not include(@user_five)
- end
- it "should return true when a user has more than 5 references" do
- @user.can_reward.should == true
- end
- it "should return true when a user has more than 5 references" do
- @user_five.can_reward.should == true
- end
- it "should return true when a user has 20 or more references and they have only created one" do
- r = Reward.create(:title=>'foo', :member_id=>@user.id)
- @user.can_reward.should == true
- end
- it "should return true when a user has more than 5 references" do
- @user_four.can_reward.should == true
- end
- it "should have a method just for indirect references"
- end
- end
Add Comment
Please, Sign In to add comment