diff --git a/Gemfile b/Gemfile index fa066d413..2f6916def 100644 --- a/Gemfile +++ b/Gemfile @@ -50,6 +50,8 @@ group :development, :test do gem 'guard-rspec', '0.5.5' gem 'jasmine' gem 'pry' + gem 'execjs' + gem 'therubyracer' end # Gems used only for assets and not required diff --git a/spec/requests/music_session_pages_spec.rb b/spec/requests/music_sessions_api_spec.rb similarity index 92% rename from spec/requests/music_session_pages_spec.rb rename to spec/requests/music_sessions_api_spec.rb index b0ea561e5..6608a6bd7 100644 --- a/spec/requests/music_session_pages_spec.rb +++ b/spec/requests/music_sessions_api_spec.rb @@ -417,4 +417,53 @@ describe "Music Session API ", :type => :api do last_response.status.should eql(201) end end + + it "Finds a single open session" do + creator = FactoryGirl.create(:user) + FactoryGirl.create(:music_session, :creator => creator, :description => "My Session") + + user = FactoryGirl.create(:user) + login(user) + + get '/api/sessions', "CONTENT_TYPE" => "application/json" + last_response.status.should == 200 + sessions = JSON.parse(last_response.body) + sessions.length.should == 1 + sessions.first["description"].should == "My Session" + end + + it "Orders two sessions by created_at starting with most recent" do + creator = FactoryGirl.create(:user) + FactoryGirl.create(:music_session, :creator => creator, :description => "Earlier Session") + FactoryGirl.create(:music_session, :creator => creator, :description => "Later Session") + + user = FactoryGirl.create(:user) + login(user) + + get '/api/sessions', "CONTENT_TYPE" => "application/json" + last_response.status.should == 200 + sessions = JSON.parse(last_response.body) + sessions.length.should == 2 + sessions.first["description"].should == "Later Session" + end + + it "Orders sessions with friends first, even if created first" do + creator = FactoryGirl.create(:user) + FactoryGirl.create(:music_session, :creator => creator, :description => "Earlier Session") + FactoryGirl.create(:music_session, :creator => creator, :description => "Later Session") + + user = FactoryGirl.create(:user) + login(user) + + get '/api/sessions', "CONTENT_TYPE" => "application/json" + last_response.status.should == 200 + sessions = JSON.parse(last_response.body) + sessions.length.should == 2 + sessions.first["description"].should == "Later Session" + end + end + + + +