require 'spec_helper' describe MusicSession do let(:creator) {FactoryGirl.create(:user)} let(:some_user) { FactoryGirl.create(:user) } let(:music_session1) { FactoryGirl.create(:music_session) } let(:music_session2) { FactoryGirl.create(:music_session) } let(:music_session3) { FactoryGirl.create(:music_session) } let(:music_session4) { FactoryGirl.create(:music_session) } describe "validations" do it "genre must be set" do music_session = FactoryGirl.build(:music_session) music_session.genre = nil music_session.save.should be_false music_session.errors[:genre].should == ["can't be blank"] end it "updates the fields of a music session properly" do genre1 = FactoryGirl.create(:genre) genre2 = FactoryGirl.create(:genre) genre3 = FactoryGirl.create(:genre) genre4 = FactoryGirl.create(:genre) creator = FactoryGirl.create(:user) session = FactoryGirl.create(:music_session, :creator => creator, :description => "Session", :genre => genre3) session.update_attributes({:description => "Session2", :genre => genre1}) session.reload session.description.should == "Session2" session.genre.should == genre1 end it "must have legal_terms accepted" do user1 = FactoryGirl.create(:user) music_session = FactoryGirl.build(:music_session, :creator => user1, legal_terms: false) music_session.save music_session.valid?.should be_false music_session.errors["legal_terms"].should == ["is not included in the list"] end it "cannot have profanity in the description" do user1 = FactoryGirl.create(:user) music_session = FactoryGirl.build(:music_session, :creator => user1, legal_terms: false, :description => "fuck you") music_session.save music_session.valid?.should be_false end end end