scube-server/spec/controllers/api/playlists_controller_spec.rb
2015-04-29 13:06:44 +00:00

53 lines
1.1 KiB
Ruby

require 'spec_helper'
describe API::PlaylistsController do
include UserControllerHelpers
before { sign_in }
describe 'GET index' do
render_views
before do
FactoryGirl.create(:playlist, name: 'Playlist 1')
FactoryGirl.create(:playlist, name: 'Playlist 2')
end
def do_get
get :index, format: :json
JSON response.body
end
it 'lists all playlists' do
expect(do_get.size).to eq 2
end
it 'lists playlists with their id' do
do_get.each { |t| expect(t.keys).to include 'id' }
end
it 'lists playlists with their name' do
do_get.each { |t| expect(t.keys).to include 'name' }
end
end
describe 'POST create' do
def do_create
post :create,
format: :json,
playlist: FactoryGirl.attributes_for(:playlist)
end
it 'creates a new playlist for the current user' do
expect {
do_create
}.to change(controller.current_user.playlists, :count).by(1)
end
it 'assigns the playlist' do
do_create
expect(assigns[:playlist]).to be_a Playlist
end
end
end