jam-cloud/ruby/spec/jam_ruby/models/music_session_spec.rb

53 lines
1.8 KiB
Ruby

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