42 lines
1.2 KiB
Ruby
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
|
|
|