124 lines
5.0 KiB
Ruby
124 lines
5.0 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe RecordingHelper, type: :helper do
|
|
|
|
before(:each) do
|
|
@user = FactoryGirl.create(:user)
|
|
@connection = FactoryGirl.create(:connection, :user => @user)
|
|
@instrument = FactoryGirl.create(:instrument, :description => 'a great instrument')
|
|
@track = FactoryGirl.create(:track, :connection => @connection, :instrument => @instrument)
|
|
@music_session = FactoryGirl.create(:active_music_session, :creator => @user, :musician_access => true)
|
|
# @music_session.connections << @connection
|
|
@music_session.save
|
|
@connection.join_the_session(@music_session, true, nil, @user, 10)
|
|
@recording = Recording.start(@music_session, @user)
|
|
@recording.stop
|
|
@recording.reload
|
|
@genre = FactoryGirl.create(:genre)
|
|
@recording.claim(@user, "name", "description", @genre, true)
|
|
@recording.reload
|
|
@claimed_recording = @recording.claimed_recordings.first
|
|
end
|
|
|
|
describe "facebook_image_for_claimed_recording" do
|
|
it "with band with no photo url" do
|
|
@recording.band = FactoryGirl.create(:band)
|
|
@recording.save!(:validate => false)
|
|
@claimed_recording.reload
|
|
result = helper.facebook_image_for_claimed_recording(@claimed_recording)
|
|
result.include?('/assets/web/logo-256.png').should be true
|
|
end
|
|
|
|
it "with band with photo url" do
|
|
@recording.band = FactoryGirl.create(:band, large_photo_url: 'abc.png')
|
|
@recording.save!(:validate => false)
|
|
@claimed_recording.reload
|
|
result = helper.facebook_image_for_claimed_recording(@claimed_recording)
|
|
result.include?(@claimed_recording.recording.band.large_photo_url).should be true
|
|
end
|
|
|
|
it "with user with no photo url" do
|
|
result = helper.facebook_image_for_claimed_recording(@claimed_recording)
|
|
result.include?("/assets/web/logo-256.png").should be true
|
|
end
|
|
|
|
it "with user with photo url" do
|
|
@claimed_recording.user.large_photo_url = 'abc.png'
|
|
@claimed_recording.user.save!
|
|
@claimed_recording.save!
|
|
@claimed_recording.reload
|
|
result = helper.facebook_image_for_claimed_recording(@claimed_recording)
|
|
result.include?("/assets/web/logo-256.png").should be true
|
|
end
|
|
|
|
it "with sharer with no photo url" do
|
|
sharer = FactoryGirl.create(:user)
|
|
result = helper.facebook_image_for_claimed_recording(@claimed_recording)
|
|
result.include?("/assets/web/logo-256.png").should be true
|
|
end
|
|
|
|
it "with sharer with photo url" do
|
|
sharer = FactoryGirl.create(:user, large_photo_url: 'abc.png')
|
|
result = helper.facebook_image_for_claimed_recording(@claimed_recording)
|
|
result.include?("/assets/web/logo-256.png").should be true
|
|
end
|
|
end
|
|
|
|
describe "title_for_claimed_recording" do
|
|
it "with band" do
|
|
@recording.band = FactoryGirl.create(:band)
|
|
@recording.save!(:validate => false)
|
|
@claimed_recording.reload
|
|
result = helper.title_for_claimed_recording(@claimed_recording)
|
|
result.start_with?("RECORDING").should be true
|
|
result.end_with?(@claimed_recording.recording.band.name).should be true
|
|
end
|
|
|
|
it "with user" do
|
|
result = helper.title_for_claimed_recording(@claimed_recording)
|
|
result.start_with?("RECORDING").should be true
|
|
result.end_with?(@claimed_recording.user.name).should be true
|
|
end
|
|
|
|
# regression: https://jamkazam.atlassian.net/browse/VRFS-2468
|
|
it "correct number of others when multiple tracks for 2 users" do
|
|
second_user = FactoryGirl.create(:user)
|
|
track1 = FactoryGirl.create(:recorded_track, user: second_user, recording: @recording)
|
|
track2 = FactoryGirl.create(:recorded_track, user: second_user, recording: @recording)
|
|
result = helper.title_for_claimed_recording(@claimed_recording)
|
|
result.include?("& #{second_user.name}").should be true
|
|
|
|
end
|
|
|
|
# regression: https://jamkazam.atlassian.net/browse/VRFS-2468
|
|
it "correct number of others when multiple tracks for 3 users" do
|
|
second_user = FactoryGirl.create(:user)
|
|
track1 = FactoryGirl.create(:recorded_track, user: second_user, recording: @recording)
|
|
track2 = FactoryGirl.create(:recorded_track, user: second_user, recording: @recording)
|
|
third_user = FactoryGirl.create(:user)
|
|
track1 = FactoryGirl.create(:recorded_track, user: third_user, recording: @recording)
|
|
track2 = FactoryGirl.create(:recorded_track, user: third_user, recording: @recording)
|
|
result = helper.title_for_claimed_recording(@claimed_recording)
|
|
result.include?("& 2 OTHERS").should be true
|
|
end
|
|
|
|
end
|
|
|
|
describe "additional_member_count" do
|
|
it "no unique users" do
|
|
helper.additional_member_count([], @user).should == ""
|
|
end
|
|
|
|
it "has 2 users" do
|
|
user2 = FactoryGirl.create(:user)
|
|
helper.additional_member_count([@user, user2], @user).should == " & #{user2.name}"
|
|
end
|
|
|
|
it "has 3 users" do
|
|
user2 = FactoryGirl.create(:user)
|
|
user3 = FactoryGirl.create(:user)
|
|
helper.additional_member_count([@user, user2, user3], @user).should == " & 2 OTHERS"
|
|
end
|
|
end
|
|
end
|