Guest User

Untitled

a guest
Oct 5th, 2018
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. require 'spec_helper'
  2.  
  3. describe Bandmembership do
  4. describe "user-band associations" do
  5. before(:each) do
  6. @user = Factory(:user)
  7. @band = @user.bands.create!(:nev => "nev")
  8. end
  9. it "should have the right user with the right band" do
  10. @user.bandmemberships.should == @band.bandmemberships
  11. end
  12. end
  13.  
  14. describe "for new bands" do
  15. before(:each) do
  16. @user = Factory(:user)
  17. @band = @user.bands.create!(:nev => "nev")
  18. end
  19. it "should have band_role leader" do
  20. @band.bandmemberships.first.band_role.should == "leader"
  21. end
  22. it "should have active status" do
  23. @band.bandmemberships.first.status.should == "active"
  24. end
  25. end
  26.  
  27. describe "for existing bands" do
  28. before(:each) do
  29. @user = Factory(:user)
  30. @user2 = User.create!(:login => "huha", :email => "jo@zsi.hu", :password => "foobar", :password_confirmation => "foobar")
  31. @band = @user.bands.create!(:nev => "nev")
  32. end
  33. it "should not have a band_role and it should have waiting status" do
  34. @bm = Bandmembership.new
  35. @bm.user = @user2
  36. @bm.band = @band
  37. @bm.save
  38. @bm.band_role.should be_nil
  39. @bm.status.should == "waiting"
  40. end
  41. it "should not let users join the same band more than once" do
  42. lambda do
  43. @bm = Bandmembership.new
  44. @bm.user = @user2
  45. @bm.band = @band
  46. @bm.save
  47. @bm2 = Bandmembership.new
  48. @bm2.user = @user2
  49. @bm2.band = @band
  50. @bm2.save
  51. end.should change(Bandmembership, :count).by(1)
  52. end
  53. end
  54. end
  55. # == Schema Information
  56. #
  57. # Table name: bandmemberships
  58. #
  59. # id :integer not null, primary key
  60. # user_id :integer
  61. # band_id :integer
  62. # band_role :string(255)
  63. # status :string(255)
  64. # created_at :datetime
  65. # updated_at :datetime
  66. #
Add Comment
Please, Sign In to add comment