Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'spec_helper'
- describe Bandmembership do
- describe "user-band associations" do
- before(:each) do
- @user = Factory(:user)
- @band = @user.bands.create!(:nev => "nev")
- end
- it "should have the right user with the right band" do
- @user.bandmemberships.should == @band.bandmemberships
- end
- end
- describe "for new bands" do
- before(:each) do
- @user = Factory(:user)
- @band = @user.bands.create!(:nev => "nev")
- end
- it "should have band_role leader" do
- @band.bandmemberships.first.band_role.should == "leader"
- end
- it "should have active status" do
- @band.bandmemberships.first.status.should == "active"
- end
- end
- describe "for existing bands" do
- before(:each) do
- @user = Factory(:user)
- @user2 = User.create!(:login => "huha", :email => "jo@zsi.hu", :password => "foobar", :password_confirmation => "foobar")
- @band = @user.bands.create!(:nev => "nev")
- end
- it "should not have a band_role and it should have waiting status" do
- @bm = Bandmembership.new
- @bm.user = @user2
- @bm.band = @band
- @bm.save
- @bm.band_role.should be_nil
- @bm.status.should == "waiting"
- end
- it "should not let users join the same band more than once" do
- lambda do
- @bm = Bandmembership.new
- @bm.user = @user2
- @bm.band = @band
- @bm.save
- @bm2 = Bandmembership.new
- @bm2.user = @user2
- @bm2.band = @band
- @bm2.save
- end.should change(Bandmembership, :count).by(1)
- end
- end
- end
- # == Schema Information
- #
- # Table name: bandmemberships
- #
- # id :integer not null, primary key
- # user_id :integer
- # band_id :integer
- # band_role :string(255)
- # status :string(255)
- # created_at :datetime
- # updated_at :datetime
- #
Add Comment
Please, Sign In to add comment