diaspora/spec/controllers/albums_controller_spec.rb
2010-10-28 15:50:19 -07:00

41 lines
1.2 KiB
Ruby

# Copyright (c) 2010, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
# the COPYRIGHT file.
require 'spec_helper'
describe AlbumsController do
render_views
before do
@user = Factory.create(:user)
@aspect = @user.aspect(:name => "lame-os")
@album = @user.post :album, :to => @aspect.id, :name => 'things on fire'
sign_in :user, @user
end
describe '#create' do
it 'all aspects' do
params = {"album" => {"name" => "Sunsets","to" => "all"}}
post :create, params
end
it 'one aspect' do
params = {"album" => {"name" => "Sunsets","to" => @aspect.id.to_s}}
post :create, params
end
end
describe "#update" do
it "should update the name of an album" do
put :update, :id => @album.id, :album => { :name => "new_name"}
@album.reload.name.should eql("new_name")
end
it "doesn't overwrite random attributes" do
new_user = Factory.create :user
params = {:name => "Bruisers", :person_id => new_user.person.id}
put('update', :id => @album.id, "album" => params)
@album.reload.person_id.should == @user.person.id
@album.name.should == 'Bruisers'
end
end
end