Guest User

Untitled

a guest
Jan 14th, 2018
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.55 KB | None | 0 0
  1. require 'spec_helper'
  2. describe Member do
  3. it "should authenticate with matching username and password" do
  4. user = Factory(:member)
  5. Member.find_by_email('foo1@example.com').should == user
  6. end
  7. describe "references" do
  8. before(:each) do
  9. @user = Factory(:member)
  10. @user_two = Factory(:member, :parent_id=>@user.id)
  11. @user_three = Factory(:member, :parent_id=>@user_two.id)
  12. @user_four = Factory(:member, :parent_id=>@user_three.id)
  13. @user_five = Factory(:member, :parent_id=>@user_four.id)
  14.  
  15. 20.times do
  16. Factory(:member, :parent_id=>@user.id)
  17. end
  18.  
  19. 5.times do
  20. Factory(:member, :parent_id=>@user_five.id)
  21. end
  22.  
  23. @uwtc_pre_pre = Factory(:member)
  24. @uwtc_pre = Factory(:member, :parent_id=>@uwtc_pre_pre.id)
  25. @uwtc = Factory(:member, :parent_id=>@uwtc_pre.id)
  26.  
  27. @uwtc1 = Factory(:member, :parent_id=>@uwtc.id)
  28. @uwtc11 = Factory(:member, :parent_id=> @uwtc1.id)
  29. @uwtc111 = Factory(:member, :parent_id=>@uwtc11.id)
  30. @uwtc1111 = Factory(:member, :parent_id=>@uwtc111.id)
  31.  
  32. @uwtc2 = Factory(:member, :parent_id=>@uwtc.id)
  33. @uwtc22 = Factory(:member, :parent_id=>@uwtc2.id)
  34. @uwtc222 = Factory(:member, :parent_id=>@uwtc22.id)
  35. @uwtc2222 = Factory(:member, :parent_id=>@uwtc222.id)
  36.  
  37. @uwtc3 = Factory(:member, :parent_id=>@uwtc.id)
  38. @uwtc33 = Factory(:member, :parent_id=>@uwtc3.id)
  39. @uwtc333 = Factory(:member, :parent_id=>@uwtc33.id)
  40. @uwtc3333 = Factory(:member, :parent_id=>@uwtc333.id)
  41.  
  42. @uwtc4 = Factory(:member, :parent_id=>@uwtc.id)
  43. @uwtc44 = Factory(:member, :parent_id=>@uwtc4.id)
  44. @uwtc444 = Factory(:member, :parent_id=>@uwtc44.id)
  45. @uwtc4444 = Factory(:member, :parent_id=>@uwtc444.id)
  46.  
  47. end
  48.  
  49. describe "4 set 3 kid user" do
  50. it "should have 12 descdendents" do
  51. @uwtc.child_level(@uwtc, 3).uniq.count.should == 12
  52. end
  53. it "should have 9 descdendents" do
  54. @uwtc_pre.child_level(@uwtc_pre, 3).uniq.count.should == 9
  55. end
  56. it "should have 9 descdendents" do
  57. @uwtc_pre_pre.child_level(@uwtc_pre_pre, 3).uniq.count.should == 6
  58. end
  59.  
  60. end
  61.  
  62. it "should have a reference_url afer creating member" do
  63. @user.reference_url.should_not be_nil
  64. end
  65. it "should make member a be a referal of member b if member b signs up via member a's link" do
  66. @user.children.should include(@user_two)
  67. end
  68. it "should do an MLM style thing where if user the references of my references should be included in my reference score" do
  69. @user.all_children.should include(@user_three)
  70. end
  71. it "should have a method just for direct references" do
  72. @user.children.should_not include(@user_three)
  73. end
  74. it "should run 3 levels deep" do
  75. @user.all_children.should include(@user_four)
  76. end
  77. it "should not run 4 levels deep" do
  78. @user.child_level(@user, 4).should_not include(@user_five)
  79. end
  80. it "should return true when a user has more than 5 references" do
  81. @user.can_reward.should == true
  82. end
  83. it "should return true when a user has more than 5 references" do
  84. @user_five.can_reward.should == true
  85. end
  86.  
  87. it "should return true when a user has 20 or more references and they have only created one" do
  88. r = Reward.create(:title=>'foo', :member_id=>@user.id)
  89. @user.can_reward.should == true
  90. end
  91. it "should return true when a user has more than 5 references" do
  92. @user_four.can_reward.should == true
  93. end
  94. it "should have a method just for indirect references"
  95. end
  96. end
Add Comment
Please, Sign In to add comment