Sha256: 6e946c12fdb45d4239a268116d3a0860e7c8d51c27da11a9b767976e0f9af1e8

Contents?: true

Size: 1.59 KB

Versions: 6

Compression:

Stored size: 1.59 KB

Contents

require 'rails_helper'

RSpec.describe Admin::UsersController, :type => :controller do 
  render_views

  before :each do 
    user = double('user')
    allow(request.env['warden']).to receive(:authenticate!) { user }
    allow(controller).to receive(:current_user) { user }
  end

  describe "GET index" do
    it "finds all users" do
      u = User.make!
      get :index
      response.status.should == 200 
      assigns(:users).include?(u).should == true
    end
  end

  describe "SHOW record" do 
    it "finds the record" do
      u = User.make!
      get :show, id: u.id
      response.status.should == 200 
    end
  end

  describe "NEW record" do 
    it "renders the form for a new record" do
      get :new
      response.status.should == 200 
    end
  end

  describe "CREATE record" do 
    it "creates the record" do
      post :create, user: { first_name: 'first', last_name: 'last', email: 'test@blah.com', password: "abcd1234" }
      response.should redirect_to action: :show, id: User.last.id
      u = User.last
      u.first_name.should == 'first'
      u.last_name.should == 'last'
      u.email.should == 'test@blah.com'
    end

  end

  describe "EDIT record" do 
    it "renders the edit form for an existing record" do 
      r = User.make!
      get :edit, id: r.id
      response.status.should == 200 
    end
  end

  describe "UPDATE record" do 
    it "updates the record" do
      u = User.make!
      put :update, id: u.id, user: { first_name: "New Name" } 
      response.should redirect_to action: :show, id: u.id
      User.find(u.id).first_name.should == "New Name"
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
introspective_admin-0.0.8 spec/admin/user_admin_spec.rb
introspective_admin-0.0.7 spec/admin/user_admin_spec.rb
introspective_admin-0.0.6 spec/admin/user_admin_spec.rb
introspective_admin-0.0.5 spec/admin/user_admin_spec.rb
introspective_admin-0.0.4 spec/admin/user_admin_spec.rb
introspective_admin-0.0.3 spec/admin/user_admin_spec.rb