Sha256: 09df48a93484ac6008f19de0e0ea910d9885eb807eb811b28d60efed872d2aea

Contents?: true

Size: 1.29 KB

Versions: 6

Compression:

Stored size: 1.29 KB

Contents

require 'spec_helper'

describe ProfilesController, "routes" do
  it { should route(:get, "/profile/edit").to(:action => :edit) }
  it { should route(:put, "/profile").to(:action => :update) }
end

describe ProfilesController, "signed out" do
  context "on get to edit" do
    before { get :edit }
    it { should deny_access }
  end
  context "on put to update" do
    before { put :update }
    it { should deny_access }
  end
end

describe ProfilesController, "edit", :as => :user do
  before { get :edit }
  it { should respond_with(:success) }
  it { should assign_to(:user).with(user) }
end

describe ProfilesController, "valid update", :as => :user do
  let(:attributes) { 'attributes' }

  before do
    user.stubs(:update_attributes => true)
    put :update, :user => attributes
  end

  it { should set_the_flash.to(/has been updated/) }

  it "redirects to the user" do
    should redirect_to(edit_profile_url)
  end

  it "updates the user" do
    user.should have_received(:update_attributes).with(attributes)
  end
end

describe ProfilesController, "invalid update", :as => :user do
  before do
    user.stubs(:update_attributes => false)
    get :update, :user => { :email => "" }
  end

  it { should_not set_the_flash }
  it { should render_template(:edit) }
  it { should assign_to(:user).with(user) }
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
saucy-0.16.1 spec/controllers/profiles_controller_spec.rb
saucy-0.16.0 spec/controllers/profiles_controller_spec.rb
saucy-0.15.2 spec/controllers/profiles_controller_spec.rb
saucy-0.15.1 spec/controllers/profiles_controller_spec.rb
saucy-0.15.0 spec/controllers/profiles_controller_spec.rb
saucy-0.14.5 spec/controllers/profiles_controller_spec.rb