52 lines
1.8 KiB
Ruby
52 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
|
|
|
|
|