debug and admin override UI
This commit is contained in:
parent
01bf30b4ce
commit
adf5c7afe0
|
|
@ -12,13 +12,13 @@ describe ActiveMusicSession do
|
|||
|
||||
describe "participant_create" do
|
||||
|
||||
let(:user) {FactoryGirl.create(:user)}
|
||||
let(:user) { FactoryGirl.create(:user) }
|
||||
|
||||
it "fails gracefully when no connection" do
|
||||
music_session = FactoryGirl.create(:active_music_session, :creator => user, :musician_access => false)
|
||||
|
||||
begin
|
||||
ActiveMusicSession.participant_create(user, music_session.id, "junk", true, nil, 5)
|
||||
ActiveMusicSession.participant_create(user, music_session.id, "junk", true, nil, 5)
|
||||
false.should be_true
|
||||
rescue JamRuby::JamRecordNotFound => e
|
||||
e.record_type.should eql "Connection"
|
||||
|
|
@ -30,7 +30,7 @@ describe ActiveMusicSession do
|
|||
it "succeeds no active music session" do
|
||||
music_session = FactoryGirl.create(:music_session, :creator => user, :musician_access => false)
|
||||
conn = FactoryGirl.create(:connection, :user => user)
|
||||
connection = ActiveMusicSession.participant_create(user, music_session.id, conn.client_id, true, nil, 5)
|
||||
connection = ActiveMusicSession.participant_create(user, music_session.id, conn.client_id, true, nil, 5)
|
||||
connection.errors.any?.should be false
|
||||
ActiveMusicSession.find(music_session.id)
|
||||
end
|
||||
|
|
@ -38,14 +38,14 @@ describe ActiveMusicSession do
|
|||
it "fails gracefully when invalid music session Id" do
|
||||
music_session = FactoryGirl.create(:active_music_session, :creator => user, :musician_access => false)
|
||||
conn = FactoryGirl.create(:connection, :user => user)
|
||||
expect { ActiveMusicSession.participant_create(user, 'bad music session ID', conn.client_id, true, nil, 5) }.to raise_error(ActiveRecord::RecordNotFound)
|
||||
expect { ActiveMusicSession.participant_create(user, 'bad music session ID', conn.client_id, true, nil, 5) }.to raise_error(ActiveRecord::RecordNotFound)
|
||||
end
|
||||
|
||||
it "pulls out of other session" do
|
||||
music_session1 = FactoryGirl.create(:active_music_session, :creator => user, :musician_access => false)
|
||||
music_session2 = FactoryGirl.create(:active_music_session, :creator => user, :musician_access => false)
|
||||
conn = FactoryGirl.create(:connection, :user => user, music_session: music_session2)
|
||||
connection = ActiveMusicSession.participant_create(user, music_session1.id, conn.client_id, true, nil, 5)
|
||||
connection = ActiveMusicSession.participant_create(user, music_session1.id, conn.client_id, true, nil, 5)
|
||||
connection.should eql conn
|
||||
connection.errors.any?.should be true
|
||||
end
|
||||
|
|
@ -54,7 +54,7 @@ describe ActiveMusicSession do
|
|||
music_session1 = FactoryGirl.create(:active_music_session, :creator => user, :musician_access => false)
|
||||
conn = FactoryGirl.create(:connection)
|
||||
ActiveRecord::Base.connection.execute("update connections set user_id = NULL where connections.id = '#{conn.id}'")
|
||||
expect { ActiveMusicSession.participant_create(user, music_session1.id, conn.client_id, true, nil, 5) }.to raise_error(JamRuby::JamPermissionError)
|
||||
expect { ActiveMusicSession.participant_create(user, music_session1.id, conn.client_id, true, nil, 5) }.to raise_error(JamRuby::JamPermissionError)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -305,10 +305,10 @@ describe ActiveMusicSession do
|
|||
describe "index(as_musician: false)" do
|
||||
let(:fan_access) { true }
|
||||
let(:creator) { FactoryGirl.create(:user) }
|
||||
let(:session) { FactoryGirl.create(:active_music_session, creator: creator, fan_access: fan_access ) }
|
||||
let(:session) { FactoryGirl.create(:active_music_session, creator: creator, fan_access: fan_access) }
|
||||
let(:connection) { FactoryGirl.create(:connection, user: creator, :music_session => session) }
|
||||
|
||||
let(:user) {FactoryGirl.create(:user) }
|
||||
let(:user) { FactoryGirl.create(:user) }
|
||||
|
||||
describe "no mount" do
|
||||
|
||||
|
|
@ -422,25 +422,25 @@ describe ActiveMusicSession do
|
|||
|
||||
Friendship.save_using_models(creator, creator2)
|
||||
|
||||
music_sessions = ActiveMusicSession.friend_active_index(creator, {}).take(100)
|
||||
music_sessions.should_not be_nil
|
||||
music_sessions.length.should == 2
|
||||
music_sessions = ActiveMusicSession.friend_active_index(creator, {}).take(100)
|
||||
music_sessions.should_not be_nil
|
||||
music_sessions.length.should == 2
|
||||
end
|
||||
|
||||
describe "parameters" do
|
||||
let(:creator_1) { FactoryGirl.create(:user, last_jam_locidispid: 4, last_jam_audio_latency: 8) }
|
||||
let(:creator_conn_1) { FactoryGirl.create(:connection, user: creator_1, ip_address: '4.4.4.4', locidispid: 4, addr:4) }
|
||||
let(:creator_conn_1) { FactoryGirl.create(:connection, user: creator_1, ip_address: '4.4.4.4', locidispid: 4, addr: 4) }
|
||||
let(:creator_2) { FactoryGirl.create(:user, last_jam_locidispid: 1, last_jam_audio_latency: 10) }
|
||||
let(:creator_conn_2) { FactoryGirl.create(:connection, user: creator_2, ip_address: '4.4.4.4', locidispid: 1, addr:1) }
|
||||
let(:creator_conn_2) { FactoryGirl.create(:connection, user: creator_2, ip_address: '4.4.4.4', locidispid: 1, addr: 1) }
|
||||
let(:creator_3) { FactoryGirl.create(:user, last_jam_locidispid: 2, last_jam_audio_latency: 12) }
|
||||
let(:creator_conn_3) { FactoryGirl.create(:connection, user: creator_3, ip_address: '5.5.5.5', locidispid: 2, addr:2) }
|
||||
let(:creator_conn_3) { FactoryGirl.create(:connection, user: creator_3, ip_address: '5.5.5.5', locidispid: 2, addr: 2) }
|
||||
let(:searcher_1) { FactoryGirl.create(:user, last_jam_locidispid: 5, last_jam_audio_latency: 6) }
|
||||
let(:searcher_conn_1) { FactoryGirl.create(:connection, user: searcher_1, ip_address: '8.8.8.8', locidispid: 5, addr:5) }
|
||||
let(:searcher_conn_1) { FactoryGirl.create(:connection, user: searcher_1, ip_address: '8.8.8.8', locidispid: 5, addr: 5) }
|
||||
let(:searcher_2) { FactoryGirl.create(:user, last_jam_locidispid: 3, last_jam_audio_latency: 14) }
|
||||
let(:searcher_conn_2) { FactoryGirl.create(:connection, user: searcher_2, ip_address: '9.9.9.9', locidispid: 3, addr:3) }
|
||||
let(:searcher_conn_2) { FactoryGirl.create(:connection, user: searcher_2, ip_address: '9.9.9.9', locidispid: 3, addr: 3) }
|
||||
|
||||
|
||||
let!(:music_session_1) { FactoryGirl.create(:active_music_session, :creator => creator_1, genre: Genre.find('african'), language: 'eng', description: "Bunny Jumps" ) }
|
||||
let!(:music_session_1) { FactoryGirl.create(:active_music_session, :creator => creator_1, genre: Genre.find('african'), language: 'eng', description: "Bunny Jumps") }
|
||||
let!(:music_session_2) { FactoryGirl.create(:active_music_session, :creator => creator_2, genre: Genre.find('ambient'), language: 'spa', description: "Play with us as we jam to beatles and bunnies") }
|
||||
|
||||
let(:tracks) { [{'sound' => 'mono', 'client_track_id' => 'abc', 'instrument_id' => 'piano'}] }
|
||||
|
|
@ -464,8 +464,8 @@ describe ActiveMusicSession do
|
|||
music_sessions.length.should == 0
|
||||
|
||||
rsvp_slot = FactoryGirl.create(:rsvp_slot, music_session: music_session_1.music_session, instrument: Instrument.find('piano'))
|
||||
rsvp_request = FactoryGirl.create(:rsvp_request, user: searcher_1, chosen:true, music_session: music_session_1.music_session)
|
||||
rsvp_request_rsvp_slot = FactoryGirl.create(:rsvp_request_rsvp_slot, chosen:true, rsvp_request: rsvp_request, rsvp_slot:rsvp_slot)
|
||||
rsvp_request = FactoryGirl.create(:rsvp_request, user: searcher_1, chosen: true, music_session: music_session_1.music_session)
|
||||
rsvp_request_rsvp_slot = FactoryGirl.create(:rsvp_request_rsvp_slot, chosen: true, rsvp_request: rsvp_request, rsvp_slot: rsvp_slot)
|
||||
|
||||
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, {})
|
||||
|
|
@ -487,33 +487,33 @@ describe ActiveMusicSession do
|
|||
creator_conn_2.join_the_session(music_session_2.music_session, true, tracks, creator_2, 10)
|
||||
creator_conn_2.errors.any?.should be_false
|
||||
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, {})
|
||||
music_sessions.length.should == 2
|
||||
music_sessions[0].should == music_session_1.music_session
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, {})
|
||||
music_sessions.length.should == 2
|
||||
music_sessions[0].should == music_session_1.music_session
|
||||
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, offset:0, limit:1)
|
||||
music_sessions.length.should == 1
|
||||
music_sessions[0].should == music_session_1.music_session
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, offset: 0, limit: 1)
|
||||
music_sessions.length.should == 1
|
||||
music_sessions[0].should == music_session_1.music_session
|
||||
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, offset:1, limit:2)
|
||||
music_sessions.length.should == 1
|
||||
music_sessions[0].should == music_session_2.music_session
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, offset: 1, limit: 2)
|
||||
music_sessions.length.should == 1
|
||||
music_sessions[0].should == music_session_2.music_session
|
||||
end
|
||||
|
||||
it "genre" do
|
||||
# verify we can get all 2 sessions
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, {})
|
||||
music_sessions.length.should == 2
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, {})
|
||||
music_sessions.length.should == 2
|
||||
|
||||
# get only african
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, genre: 'african')
|
||||
music_sessions.length.should == 1
|
||||
music_sessions[0].genre.should == Genre.find('african')
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, genre: 'african')
|
||||
music_sessions.length.should == 1
|
||||
music_sessions[0].genre.should == Genre.find('african')
|
||||
|
||||
# get only ambient
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, genre: 'ambient')
|
||||
music_sessions.length.should == 1
|
||||
music_sessions[0].genre.should == Genre.find('ambient')
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, genre: 'ambient')
|
||||
music_sessions.length.should == 1
|
||||
music_sessions[0].genre.should == Genre.find('ambient')
|
||||
end
|
||||
|
||||
it "language" do
|
||||
|
|
@ -534,29 +534,29 @@ describe ActiveMusicSession do
|
|||
end
|
||||
|
||||
it "keyword" do
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, keyword: 'Jump')
|
||||
music_sessions.length.should == 1
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, keyword: 'Jump')
|
||||
music_sessions.length.should == 1
|
||||
|
||||
music_sessions[0].should == music_session_1.music_session
|
||||
music_sessions = ams(searcher_1, keyword: 'Bunny')
|
||||
music_sessions.length.should == 2
|
||||
music_sessions[0].should == music_session_1.music_session
|
||||
music_sessions = ams(searcher_1, keyword: 'Bunny')
|
||||
music_sessions.length.should == 2
|
||||
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, keyword: 'play')
|
||||
music_sessions.length.should == 1
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, keyword: 'play')
|
||||
music_sessions.length.should == 1
|
||||
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, keyword: 'bun')
|
||||
music_sessions.length.should == 2
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, keyword: 'bun')
|
||||
music_sessions.length.should == 2
|
||||
|
||||
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, keyword: 'bunny play')
|
||||
music_sessions.length.should == 1
|
||||
music_sessions = ActiveMusicSession.friend_active_index(searcher_1, keyword: 'bunny play')
|
||||
music_sessions.length.should == 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe "ams_index", no_transaction: true do
|
||||
describe "ams_index", no_transaction: true do
|
||||
it "does not crash" do
|
||||
|
||||
creator = FactoryGirl.create(:user, last_jam_locidispid: 1, last_jam_audio_latency: 5)
|
||||
|
|
@ -619,17 +619,17 @@ describe ActiveMusicSession do
|
|||
|
||||
describe "parameters" do
|
||||
let(:creator_1) { FactoryGirl.create(:user, last_jam_locidispid: 4, last_jam_audio_latency: 8) }
|
||||
let(:creator_conn_1) { FactoryGirl.create(:connection, user: creator_1, ip_address: '4.4.4.4', locidispid: 4, addr:4) }
|
||||
let(:creator_conn_1) { FactoryGirl.create(:connection, user: creator_1, ip_address: '4.4.4.4', locidispid: 4, addr: 4) }
|
||||
let(:creator_2) { FactoryGirl.create(:user, last_jam_locidispid: 1, last_jam_audio_latency: 10) }
|
||||
let(:creator_conn_2) { FactoryGirl.create(:connection, user: creator_2, ip_address: '4.4.4.4', locidispid: 1, addr:1) }
|
||||
let(:creator_conn_2) { FactoryGirl.create(:connection, user: creator_2, ip_address: '4.4.4.4', locidispid: 1, addr: 1) }
|
||||
let(:creator_3) { FactoryGirl.create(:user, last_jam_locidispid: 2, last_jam_audio_latency: 12) }
|
||||
let(:creator_conn_3) { FactoryGirl.create(:connection, user: creator_3, ip_address: '5.5.5.5', locidispid: 2, addr:2) }
|
||||
let(:creator_conn_3) { FactoryGirl.create(:connection, user: creator_3, ip_address: '5.5.5.5', locidispid: 2, addr: 2) }
|
||||
let(:searcher_1) { FactoryGirl.create(:user, last_jam_locidispid: 5, last_jam_audio_latency: 6) }
|
||||
let(:searcher_conn_1) { FactoryGirl.create(:connection, user: searcher_1, ip_address: '8.8.8.8', locidispid: 5, addr:5) }
|
||||
let(:searcher_conn_1) { FactoryGirl.create(:connection, user: searcher_1, ip_address: '8.8.8.8', locidispid: 5, addr: 5) }
|
||||
let(:searcher_2) { FactoryGirl.create(:user, last_jam_locidispid: 3, last_jam_audio_latency: 14) }
|
||||
let(:searcher_conn_2) { FactoryGirl.create(:connection, user: searcher_2, ip_address: '9.9.9.9', locidispid: 3, addr:3) }
|
||||
let(:searcher_conn_2) { FactoryGirl.create(:connection, user: searcher_2, ip_address: '9.9.9.9', locidispid: 3, addr: 3) }
|
||||
|
||||
let!(:music_session_1) { FactoryGirl.create(:active_music_session, :creator => creator_1, genre: Genre.find('african'), language: 'eng', description: "Bunny Jumps" ) }
|
||||
let!(:music_session_1) { FactoryGirl.create(:active_music_session, :creator => creator_1, genre: Genre.find('african'), language: 'eng', description: "Bunny Jumps") }
|
||||
let!(:music_session_2) { FactoryGirl.create(:active_music_session, :creator => creator_2, genre: Genre.find('ambient'), language: 'spa', description: "Play with us as we jam to beatles and bunnies") }
|
||||
|
||||
let(:good_network_score) { 20 }
|
||||
|
|
@ -656,16 +656,17 @@ describe ActiveMusicSession do
|
|||
|
||||
# grab just the 1st
|
||||
ActiveRecord::Base.transaction do
|
||||
music_sessions, user_search = ams(searcher_1, client_id: searcher_conn_1.client_id, offset:0, limit:1)
|
||||
music_sessions, user_search = ams(searcher_1, client_id: searcher_conn_1.client_id, offset: 0, limit: 1)
|
||||
music_sessions.length.should == 1
|
||||
music_sessions[0].should == music_session_1.music_session
|
||||
end
|
||||
|
||||
# then the second
|
||||
ActiveRecord::Base.transaction do
|
||||
music_sessions, user_search = ams(searcher_1, client_id: searcher_conn_1.client_id, offset:1, limit:2)
|
||||
music_sessions, user_search = ams(searcher_1, client_id: searcher_conn_1.client_id, offset: 1, limit: 2)
|
||||
music_sessions.length.should == 1
|
||||
music_sessions[0].should == music_session_2.music_session end
|
||||
music_sessions[0].should == music_session_2.music_session
|
||||
end
|
||||
end
|
||||
|
||||
it "genre" do
|
||||
|
|
@ -926,17 +927,17 @@ describe ActiveMusicSession do
|
|||
end
|
||||
|
||||
describe "currently recording" do
|
||||
before(:each) do
|
||||
@recording = FactoryGirl.create(:recording, :music_session => @music_session, :owner => @user1)
|
||||
end
|
||||
before(:each) do
|
||||
@recording = FactoryGirl.create(:recording, :music_session => @music_session, :owner => @user1)
|
||||
end
|
||||
|
||||
it "is_recording? returns true if recording" do
|
||||
@music_session.is_recording?.should be_true
|
||||
end
|
||||
it "is_recording? returns true if recording" do
|
||||
@music_session.is_recording?.should be_true
|
||||
end
|
||||
|
||||
it "stop_recording should return recording object if recording" do
|
||||
@music_session.stop_recording.should == @recording
|
||||
end
|
||||
it "stop_recording should return recording object if recording" do
|
||||
@music_session.stop_recording.should == @recording
|
||||
end
|
||||
end
|
||||
|
||||
describe "open a recording" do
|
||||
|
|
@ -1078,8 +1079,8 @@ describe ActiveMusicSession do
|
|||
|
||||
describe "join_the_session" do
|
||||
let(:creator_1) { FactoryGirl.create(:user, last_jam_locidispid: 4, last_jam_audio_latency: 8) }
|
||||
let(:creator_conn_1) { FactoryGirl.create(:connection, user: creator_1, ip_address: '4.4.4.4', locidispid: 4, addr:4) }
|
||||
let!(:music_session_1) { FactoryGirl.create(:active_music_session, :creator => creator_1, genre: Genre.find('african'), language: 'eng', description: "Bunny Jumps" ) }
|
||||
let(:creator_conn_1) { FactoryGirl.create(:connection, user: creator_1, ip_address: '4.4.4.4', locidispid: 4, addr: 4) }
|
||||
let!(:music_session_1) { FactoryGirl.create(:active_music_session, :creator => creator_1, genre: Genre.find('african'), language: 'eng', description: "Bunny Jumps") }
|
||||
let(:tracks) { [{'sound' => 'mono', 'client_track_id' => 'abc', 'instrument_id' => 'piano'}] }
|
||||
let(:videos) { [{'client_video_source_id' => 'abc'}] }
|
||||
|
||||
|
|
@ -1090,8 +1091,8 @@ describe ActiveMusicSession do
|
|||
music_sessions = ActiveMusicSession.index(creator_1)
|
||||
music_sessions.should_not be_nil
|
||||
music_sessions.length.should == 1
|
||||
music_sessions[0].connections.should have(1).items
|
||||
music_sessions[0].connections.should have(1).items
|
||||
music_sessions[0].connections.should have(1).items
|
||||
music_sessions[0].connections.should have(1).items
|
||||
music_sessions[0].connections[0].tracks.should have(1).items
|
||||
music_sessions[0].connections[0].video_sources.should have(0).items
|
||||
end
|
||||
|
|
@ -1103,12 +1104,12 @@ describe ActiveMusicSession do
|
|||
music_sessions.should_not be_nil
|
||||
music_sessions.length.should == 1
|
||||
creator_conn_1.video_sources.should have(1).items
|
||||
music_sessions[0].connections.should have(1).items
|
||||
music_sessions[0].connections.should have(1).items
|
||||
music_sessions[0].connections[0].video_sources.should have(1).items
|
||||
music_sessions[0].connections[0].tracks.should have(1).items
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
describe "open_backing_track" do
|
||||
before(:each) do
|
||||
@user1 = FactoryGirl.create(:user)
|
||||
|
|
@ -1119,7 +1120,7 @@ describe ActiveMusicSession do
|
|||
# @music_session.connections << @connection
|
||||
@music_session.save!
|
||||
@connection.join_the_session(@music_session, true, nil, @user1, 10)
|
||||
@backing_track = "foo/bar.mp3"
|
||||
@backing_track = "foo/bar.mp3"
|
||||
end
|
||||
|
||||
it "allow a backing track to be associated" do
|
||||
|
|
@ -1178,6 +1179,34 @@ describe ActiveMusicSession do
|
|||
|
||||
end
|
||||
|
||||
describe "play_time_remaining" do
|
||||
it "checks all" do
|
||||
user = FactoryGirl.create(:user)
|
||||
music_session = FactoryGirl.create(:active_music_session, :creator => user, :musician_access => false)
|
||||
|
||||
user.subscription_plan_code = SubscriptionDefinitions::JAM_PLATINUM
|
||||
music_session.play_time_remaining(user).should be_nil
|
||||
|
||||
user.subscription_plan_code = SubscriptionDefinitions::JAM_PLATINUM_YEARLY
|
||||
music_session.play_time_remaining(user).should be_nil
|
||||
|
||||
user.subscription_plan_code = SubscriptionDefinitions::JAM_GOLD
|
||||
music_session.play_time_remaining(user).should be_nil
|
||||
|
||||
user.subscription_plan_code = SubscriptionDefinitions::JAM_GOLD_YEARLY
|
||||
music_session.play_time_remaining(user).should be_nil
|
||||
|
||||
user.subscription_plan_code = SubscriptionDefinitions::JAM_SILVER
|
||||
music_session.play_time_remaining(user).should be_nil
|
||||
|
||||
user.subscription_plan_code = SubscriptionDefinitions::JAM_SILVER_YEARLY
|
||||
music_session.play_time_remaining(user).should be_nil
|
||||
|
||||
user.subscription_plan_code = nil
|
||||
music_session.play_time_remaining(user).should_not be_nil
|
||||
end
|
||||
end
|
||||
|
||||
describe "open_metronome" do
|
||||
before(:each) do
|
||||
@user1 = FactoryGirl.create(:user)
|
||||
|
|
@ -1187,7 +1216,7 @@ describe ActiveMusicSession do
|
|||
@music_session = FactoryGirl.create(:active_music_session, :creator => @user1, :musician_access => true)
|
||||
# @music_session.connections << @connection
|
||||
@music_session.save!
|
||||
@connection.join_the_session(@music_session, true, nil, @user1, 10)
|
||||
@connection.join_the_session(@music_session, true, nil, @user1, 10)
|
||||
end
|
||||
|
||||
it "allow a metronome to be activated" do
|
||||
|
|
@ -1243,7 +1272,6 @@ describe ActiveMusicSession do
|
|||
end
|
||||
|
||||
|
||||
|
||||
it "one" do
|
||||
FactoryGirl.create(:active_music_session)
|
||||
ActiveMusicSession.stats.should eq('count' => 1,
|
||||
|
|
|
|||
|
|
@ -170,6 +170,7 @@ AppStore = context.AppStore
|
|||
desired_plan_name = `<span className="plan-name">{this.getDisplayNameTier(this.props.subscription.desired_plan_code)}</span>`
|
||||
admin_override_plan_name = `<span className="plan-name">{this.getDisplayNameTier(this.props.subscription.admin_override_plan_code)}</span>`
|
||||
in_trial = @props.subscription.in_trial
|
||||
admin_override = @props.subscription.admin_override_plan_code?
|
||||
effective_is_free = !!this.props.subscription.plan_code
|
||||
has_pending_subscription = @props.subscription.subscription?.pending_subscription?
|
||||
cancelled_subscription = @props.subscription.subscription?.remaining_billing_cycles == 0
|
||||
|
|
@ -178,7 +179,9 @@ AppStore = context.AppStore
|
|||
|
||||
#console.log("@props.subscription.subscription", @props.subscription.subscription, has_pending_subscription)
|
||||
|
||||
if in_trial
|
||||
if admin_override
|
||||
explanation = `<span>You have a {effective_plan_name} account until your gifted plan ends {context.JK.formatDateShort(this.props.subscription.admin_override_ends_at)}.</span>`
|
||||
else if in_trial
|
||||
if @props.subscription.desired_plan_code
|
||||
if has_billing_info
|
||||
note = `<span>Billing starts for the {desired_plan_name} plan after the trial ends.</span>`
|
||||
|
|
|
|||
|
|
@ -1100,6 +1100,7 @@ ConfigureTracksActions = @ConfigureTracksActions
|
|||
if @sessionRules.remaining_session_play_time?
|
||||
until_time = new Date()
|
||||
until_time = new Date(until_time.getTime() + @sessionRules.remaining_session_play_time * 1000)
|
||||
console.log("subscription: session has remaining play time", until_time)
|
||||
@sessionRules.remaining_session_until = until_time
|
||||
|
||||
|
||||
|
|
@ -1116,6 +1117,7 @@ ConfigureTracksActions = @ConfigureTracksActions
|
|||
until_time = new Date()
|
||||
until_time = new Date(until_time.getTime() + @subscriptionRules.remaining_month_play_time * 1000)
|
||||
#until_time.setSeconds(until_time.getSeconds() + @subscriptionRules.remaining_month_play_time)
|
||||
console.log("subscription: month has remaining play time", until_time)
|
||||
@subscriptionRules.remaining_month_until = until_time
|
||||
|
||||
@currentSession = sessionData
|
||||
|
|
|
|||
|
|
@ -152,6 +152,8 @@ class ApiRecurlyController < ApiController
|
|||
subscription: subscription, has_billing_info: has_billing_info,
|
||||
plan_code: current_user.subscription_plan_code,
|
||||
desired_plan_code: current_user.desired_plan_code,
|
||||
admin_override_plan_code: current_user.admin_override_plan_code,
|
||||
admin_override_ends_at: current_user.admin_override_ends_at,
|
||||
in_trial: !current_user.subscription_trial_ended?,
|
||||
trial_ends_at: current_user.subscription_trial_ends_at
|
||||
}, :status => 200
|
||||
|
|
@ -179,6 +181,8 @@ class ApiRecurlyController < ApiController
|
|||
subscription: subscription, has_billing_info: has_billing_info,
|
||||
plan_code: current_user.subscription_plan_code,
|
||||
desired_plan_code: current_user.desired_plan_code,
|
||||
admin_override_plan_code: current_user.admin_override_plan_code,
|
||||
admin_override_ends_at: current_user.admin_override_ends_at,
|
||||
in_trial: !current_user.subscription_trial_ended?,
|
||||
trial_ends_at: current_user.subscription_trial_ends_at
|
||||
}, :status => 200
|
||||
|
|
@ -219,6 +223,8 @@ class ApiRecurlyController < ApiController
|
|||
has_billing_info: has_billing_info,
|
||||
plan_code: current_user.subscription_plan_code,
|
||||
desired_plan_code: current_user.desired_plan_code,
|
||||
admin_override_plan_code: current_user.admin_override_plan_code,
|
||||
admin_override_ends_at: current_user.admin_override_ends_at,
|
||||
in_trial: !current_user.subscription_trial_ended?,
|
||||
trial_ends_at: current_user.subscription_trial_ends_at
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue