Add basic playlists management

* Index of playlists
* Create a new playlist
* Basic playlist model with mandatory name
This commit is contained in:
Thibault Jouan
2011-07-09 09:23:32 +00:00
parent 74fb4ca86f
commit 33f979b573
13 changed files with 205 additions and 57 deletions

View File

@@ -0,0 +1,22 @@
require 'spec_helper'
describe 'playlists/index.html.haml' do
before do
assign :playlists, [
double('Playlist', :name => 'Foo'),
double('Playlist', :name => 'Bar')
]
end
it 'displays a list of playlists' do
render
rendered.should have_selector('ul>li', :count => 2)
rendered.should have_selector('ul>li', :text => 'Foo')
rendered.should have_selector('ul>li+li', :text => 'Bar')
end
it 'displays a link to create a new playlist' do
render
rendered.should have_selector('a', :text => 'Create playlist')
end
end

View File

@@ -0,0 +1,26 @@
require 'spec_helper'
describe 'playlists/new.html.haml' do
let(:playlist) do
mock_model('Playlist').as_new_record.as_null_object
end
before do
assign :playlist, playlist
end
it 'renders a form to create a playlist' do
render
rendered.should have_selector("form[method=post][action='#{playlists_path}']")
rendered.should have_selector('input[type=submit]')
end
it 'renders a text field with a label for the playlists name' do
playlist.stub(:name => 'Electro')
render
rendered.should \
have_selector("input[type=text][name='playlist[name]'][value=Electro]")
rendered.should \
have_selector("label[for=playlist_name]", :text => 'Name')
end
end