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

42 lines
1.2 KiB
Ruby

require 'spec_helper'
describe JamTrackRight do
it "created" do
jam_track_right = FactoryGirl.create(:jam_track_right)
user = jam_track_right.user
jam_track = jam_track_right.jam_track
# verify that the user sees this as a purchased jam_track
user.purchased_jam_tracks.should == [jam_track]
# verify that the jam_track sees the user as an owner
jam_track.owners.should == [user]
end
describe "validations" do
it "one purchase per user/jam_track combo" do
user = FactoryGirl.create(:user)
jam_track = FactoryGirl.create(:jam_track)
right_1 = FactoryGirl.create(:jam_track_right, user: user, jam_track: jam_track)
right_2 = FactoryGirl.build(:jam_track_right, user: user, jam_track: jam_track)
right_2.valid?.should be_false
right_2.errors[:user_id].should == ['has already been taken']
end
end
it "saves JKZ" do
user = FactoryGirl.create(:user)
jam_track = FactoryGirl.create(:jam_track)
right = JamTrackRight.create(:user=>user, :jam_track=>jam_track)
expect {
JamRuby::JamTracksManager.save_jam_track_jkz(user, jam_track)
}.to_not raise_error
end
end