Render an empty 201 in users update with a js request

This commit is contained in:
Raphael Sofaer 2011-02-09 17:22:45 -08:00
parent aaaa00f1c9
commit 04f33c8034
2 changed files with 24 additions and 4 deletions

View file

@ -46,7 +46,14 @@ class UsersController < ApplicationController
end
end
redirect_to edit_user_path(@user)
respond_to do |format|
format.js{
render :nothing => true, :status => 201
}
format.all{
redirect_to edit_user_path(@user)
}
end
end
def destroy

View file

@ -22,14 +22,27 @@ describe UsersController do
end
describe '#update' do
it "doesn't overwrite random attributes" do
params = { :id => @user.id,
before do
@params = { :id => @user.id,
:user => { :diaspora_handle => "notreal@stuff.com" } }
end
it "doesn't overwrite random attributes" do
lambda {
put :update, params
put :update, @params
}.should_not change(@user, :diaspora_handle)
end
it 'redirects to the user edit page' do
put :update, @params
response.should redirect_to edit_user_path(@user)
end
it 'responds with a 201 on a js request' do
put :update, @params.merge(:format => :js)
response.status.should == 201
end
context "open aspects" do
before do
@index_params = {:id => @user.id, :user => {:a_ids => [@aspect.id.to_s, @aspect1.id.to_s]} }