* VRFS-92 add music session stub params
This commit is contained in:
parent
ea7f9339a4
commit
ab3bb5f51e
|
|
@ -27,6 +27,11 @@ class ApiMusicSessionsController < ApiController
|
|||
@music_session.creator = current_user
|
||||
@music_session.description = params[:description]
|
||||
@music_session.musician_access = params[:musician_access]
|
||||
@music_session.approval_required = params[:approval_required]
|
||||
@music_session.fan_chat = params[:fan_chat]
|
||||
@music_session.fan_access = params[:fan_access]
|
||||
@music_session.band = Band.find(params[:band]) unless params[:band].nil?
|
||||
|
||||
genres = params[:genres]
|
||||
logger.debug "Genres class: " + genres.class.to_s()
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ class ApiUsersController < ApiController
|
|||
end
|
||||
|
||||
def following_create
|
||||
|
||||
|
||||
if !params[:user_id].nil?
|
||||
@follower = UserFollower.new()
|
||||
@follower.user_id = params[:user_id]
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
object @music_session
|
||||
|
||||
attributes :id, :description, :musician_access
|
||||
attributes :id, :description, :musician_access, :approval_required, :fan_access, :fan_chat, :band_id
|
||||
|
||||
node :genres do |item|
|
||||
item.genres.map(&:id)
|
||||
|
|
@ -17,7 +17,14 @@ child(:connections => :participants) {
|
|||
}
|
||||
}
|
||||
|
||||
child(:invitations => :invitations) {
|
||||
collection @music_sessions, :object_root => false
|
||||
node :invitations do |music_session|
|
||||
|
||||
end
|
||||
|
||||
child({:invitations => :invitations}) {
|
||||
attributes :id, :sender_id
|
||||
}
|
||||
|
||||
child({:fan_invitations => :fan_invitations}) {
|
||||
attributes :id, :sender_id
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,9 +11,12 @@ FactoryGirl.define do
|
|||
end
|
||||
end
|
||||
|
||||
factory :music_session, :class => JamRuby::MusicSession do
|
||||
sequence(:description) { |n| "Music Session #{n}" }
|
||||
musician_access true
|
||||
factory :music_session, :class => "JamRuby::MusicSession" do
|
||||
sequence(:description) { |n| "Music Session #{n}" }
|
||||
fan_chat true
|
||||
fan_access true
|
||||
approval_required false
|
||||
musician_access true
|
||||
end
|
||||
|
||||
factory :connection, :class => JamRuby::Connection do
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@ describe "Music Session API ", :type => :api do
|
|||
|
||||
describe "profile page" do
|
||||
let(:user) { FactoryGirl.create(:user) }
|
||||
|
||||
# defopts are used to setup default options for the session
|
||||
let(:defopts) { { :description => "a session", :fan_chat => true, :fan_access => true, :approval_required => false, :genres => ["classical"], :musician_access => true, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}]} }
|
||||
before do
|
||||
#sign_in user
|
||||
MusicSession.delete_all
|
||||
|
|
@ -27,7 +30,7 @@ describe "Music Session API ", :type => :api do
|
|||
|
||||
it "should create session" do
|
||||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1", :client_id => "1")
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["classical"], :musician_access => true, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', defopts.merge({:client_id => client.client_id}).to_json, "CONTENT_TYPE" => 'application/json'
|
||||
last_response.status.should eql(201)
|
||||
|
||||
# now fetch it's data
|
||||
|
|
@ -38,8 +41,12 @@ describe "Music Session API ", :type => :api do
|
|||
music_sessions = JSON.parse(last_response.body)
|
||||
music_session = music_sessions[0]
|
||||
music_session["id"].should == music_session["id"]
|
||||
music_session["musician_access"].should == true
|
||||
music_session["musician_access"].should be_true
|
||||
music_session["invitations"].should == []
|
||||
music_session["fan_invitations"].should == []
|
||||
music_session["approval_required"].should be_false
|
||||
music_session["fan_chat"].should be_true
|
||||
music_session["fan_access"].should be_true
|
||||
music_session["participants"].length.should == 1
|
||||
participant = music_session["participants"][0]
|
||||
participant["ip_address"].should == client.ip_address
|
||||
|
|
@ -59,7 +66,7 @@ describe "Music Session API ", :type => :api do
|
|||
|
||||
# create the session
|
||||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1")
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["classical"], :musician_access => true, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', defopts.merge({:client_id => client.client_id}).to_json, "CONTENT_TYPE" => 'application/json'
|
||||
last_response.status.should eql(201)
|
||||
|
||||
# now fetch it's data
|
||||
|
|
@ -82,7 +89,7 @@ describe "Music Session API ", :type => :api do
|
|||
it "should add/remove member from session" do
|
||||
# create the session
|
||||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1")
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["classical"], :musician_access => true, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', defopts.merge({:client_id => client.client_id}).to_json, "CONTENT_TYPE" => 'application/json'
|
||||
last_response.status.should eql(201)
|
||||
|
||||
# now fetch it's data
|
||||
|
|
@ -112,11 +119,11 @@ describe "Music Session API ", :type => :api do
|
|||
|
||||
|
||||
it "should add a second member to the second" do
|
||||
|
||||
user2 = FactoryGirl.create(:user)
|
||||
|
||||
user2 = FactoryGirl.create(:user)
|
||||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1")
|
||||
client2 = FactoryGirl.create(:connection, :user => user2, :ip_address => "2.2.2.2")
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["classical"], :musician_access => true, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', defopts.merge({:client_id => client.client_id}).to_json, "CONTENT_TYPE" => 'application/json'
|
||||
last_response.status.should eql(201)
|
||||
|
||||
# now fetch it's data
|
||||
|
|
@ -177,14 +184,14 @@ describe "Music Session API ", :type => :api do
|
|||
# create the session
|
||||
original_count = MusicSession.all().length
|
||||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1")
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :musician_access => true, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :musician_access => true, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}], :fan_chat=>true, :fan_access=>true, :approval_required=>false}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
last_response.status.should eql(422)
|
||||
MusicSession.all().length.should == original_count
|
||||
end
|
||||
|
||||
it "should error with invalid genre specified" do
|
||||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1")
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["Junk"], :musician_access => true, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["Junk"], :musician_access => true, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}], :fan_chat=>true, :fan_access=>true, :approval_required=>false}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
last_response.status.should eql(404)
|
||||
end
|
||||
|
||||
|
|
@ -192,7 +199,7 @@ describe "Music Session API ", :type => :api do
|
|||
original_count = MusicSession.all().length
|
||||
|
||||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1")
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :musician_access => true, :genres => ["classical"]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :musician_access => true, :genres => ["classical"], :fan_chat=>true, :fan_access=>true, :approval_required=>false}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
last_response.status.should eql(422)
|
||||
JSON.parse(last_response.body)["errors"]["genres"][0].should == Connection::SELECT_AT_LEAST_ONE
|
||||
|
||||
|
|
@ -204,7 +211,7 @@ describe "Music Session API ", :type => :api do
|
|||
original_count = MusicSession.all().length
|
||||
|
||||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1")
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["classical"], :musician_access => true, :tracks => [{"instrument_id" => "mom", "sound" => "mono"}]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["classical"], :musician_access => true, :tracks => [{"instrument_id" => "mom", "sound" => "mono"}], :fan_chat=>true, :fan_access=>true, :approval_required=>false}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
last_response.status.should eql(404)
|
||||
|
||||
# check that the transaction was rolled back
|
||||
|
|
@ -215,7 +222,7 @@ describe "Music Session API ", :type => :api do
|
|||
original_count = MusicSession.all().length
|
||||
|
||||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1")
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["classical"], :musician_access => true, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mom"}]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["classical"], :musician_access => true, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mom"}], :fan_chat=>true, :fan_access=>true, :approval_required=>false}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
|
||||
last_response.status.should eql(422)
|
||||
JSON.parse(last_response.body)["errors"]["connection_tracks"][0].should == "is invalid"
|
||||
|
|
@ -233,7 +240,7 @@ describe "Music Session API ", :type => :api do
|
|||
|
||||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1")
|
||||
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["classical"], :musician_access => false, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', defopts.merge({:client_id => client.client_id, :musician_access => false}).to_json, "CONTENT_TYPE" => 'application/json'
|
||||
last_response.status.should eql(201)
|
||||
session = JSON.parse(last_response.body)
|
||||
|
||||
|
|
@ -249,6 +256,7 @@ describe "Music Session API ", :type => :api do
|
|||
music_session["id"].should == session["id"]
|
||||
music_session["musician_access"].should == false
|
||||
music_session["invitations"].should == []
|
||||
music_session["fan_invitations"].should == []
|
||||
music_session["participants"].length.should == 1
|
||||
participant = music_session["participants"][0]
|
||||
participant["ip_address"].should == client.ip_address
|
||||
|
|
@ -262,7 +270,7 @@ describe "Music Session API ", :type => :api do
|
|||
|
||||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1")
|
||||
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["classical"], :musician_access => false, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', defopts.merge({:client_id => client.client_id, :musician_access => false}).to_json, "CONTENT_TYPE" => 'application/json'
|
||||
last_response.status.should eql(201)
|
||||
session = JSON.parse(last_response.body)
|
||||
|
||||
|
|
@ -283,6 +291,8 @@ describe "Music Session API ", :type => :api do
|
|||
invitation = music_session["invitations"][0]
|
||||
invitation["id"].should == invitation_model.id
|
||||
|
||||
music_session["fan_invitations"].should == []
|
||||
|
||||
music_session["participants"].length.should == 1
|
||||
participant = music_session["participants"][0]
|
||||
participant["client_id"].should == client.client_id
|
||||
|
|
@ -300,7 +310,7 @@ describe "Music Session API ", :type => :api do
|
|||
client = FactoryGirl.create(:connection, :user => user, :ip_address => "1.1.1.1", :client_id => "3")
|
||||
|
||||
|
||||
post '/api/sessions.json', { :description => "a session", :client_id => client.client_id, :genres => ["classical"], :musician_access => false, :tracks => [{"instrument_id" => "electric guitar", "sound" => "mono"}]}.to_json, "CONTENT_TYPE" => 'application/json'
|
||||
post '/api/sessions.json', defopts.merge({:client_id => client.client_id, :musician_access => false}).to_json, "CONTENT_TYPE" => 'application/json'
|
||||
last_response.status.should eql(201)
|
||||
session = JSON.parse(last_response.body)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue