spec/controllers/bookkeeper/purchases_controller_spec.rb in bookkeeper-0.0.1 vs spec/controllers/bookkeeper/purchases_controller_spec.rb in bookkeeper-0.0.2
- old
+ new
@@ -1,101 +1,105 @@
require 'spec_helper'
module Bookkeeper
describe PurchasesController do
- def valid_session
- {}
- end
-
describe "GET index" do
it "assigns all purchases as @purchases" do
purchase = create(:bookkeeper_purchase)
- get :index, { use_route: :purchases }, valid_session
+ get :index, { use_route: :purchases }
expect(assigns(:purchases)).to match_array [purchase]
end
it "renders the :index template" do
purchase = create(:bookkeeper_purchase)
- get :index, { use_route: :purchases }, valid_session
+ get :index, { use_route: :purchases }
expect(response).to render_template :index
end
- end
- describe "GET show" do
- it "assigns the requested purchase as @purchase" do
- purchase = create(:bookkeeper_purchase)
- get :show, { id: purchase.to_param, use_route: :purchases }, valid_session
- expect(assigns(:purchase)).to eq purchase
+ it "shows all purchases ordered by creation" do
+ first_purchase = create(:bookkeeper_purchase)
+ last_purchase = create(:bookkeeper_purchase)
+ get :index, { use_route: :purchases }
+ expect(assigns(:purchases)).to eq([last_purchase, first_purchase])
end
- it "renders the :show template" do
- purchase = create(:bookkeeper_purchase)
- get :show, { id: purchase.to_param, use_route: :purchases }, valid_session
- expect(response).to render_template :show
- end
end
+ # describe "GET show" do
+ # it "assigns the requested purchase as @purchase" do
+ # purchase = create(:bookkeeper_purchase)
+ # get :show, { id: purchase.to_param, use_route: :purchases }
+ # expect(assigns(:purchase)).to eq purchase
+ # end
+
+ # it "renders the :show template" do
+ # purchase = create(:bookkeeper_purchase)
+ # get :show, { id: purchase.to_param, use_route: :purchases }
+ # expect(response).to render_template :show
+ # end
+ # end
+
describe "GET new" do
it "assigns a new purchase as @purchase" do
- get :new, { use_route: :purchases }, valid_session
+ get :new, { use_route: :purchases }
expect(assigns(:purchase)).to be_a_new(Purchase)
end
it "renders the :new template" do
- get :new, { use_route: :purchases }, valid_session
+ get :new, { use_route: :purchases }
expect(response).to render_template :new
end
end
describe "GET edit" do
it "assigns the requested purchase as @purchase" do
purchase = create(:bookkeeper_purchase)
- get :edit, { id: purchase.to_param, use_route: :purchases }, valid_session
+ get :edit, { id: purchase.to_param, use_route: :purchases }
expect(assigns(:purchase)).to eq(purchase)
end
it "renders the :edit template" do
purchase = create(:bookkeeper_purchase)
- get :edit, { id: purchase.to_param, use_route: :purchases }, valid_session
+ get :edit, { id: purchase.to_param, use_route: :purchases }
expect(response).to render_template :edit
end
end
describe "POST create" do
describe "with valid params" do
it "creates a new Purchase" do
expect {
- post :create, {purchase: attributes_for(:bookkeeper_purchase), use_route: :purchases}, valid_session
+ post :create, {purchase: attributes_for(:bookkeeper_purchase), use_route: :purchases}
}.to change(Purchase, :count).by(1)
end
it "assigns a newly created purchase as @purchase" do
- post :create, {purchase: attributes_for(:bookkeeper_purchase), use_route: :purchases}, valid_session
+ post :create, {purchase: attributes_for(:bookkeeper_purchase), use_route: :purchases}
expect(assigns(:purchase)).to be_a(Purchase)
expect(assigns(:purchase)).to be_persisted
end
it "redirects to the purchases page" do
- post :create, {purchase: attributes_for(:bookkeeper_purchase), use_route: :purchases}, valid_session
+ post :create, {purchase: attributes_for(:bookkeeper_purchase), use_route: :purchases}
expect(response).to redirect_to :purchases
end
end
describe "with invalid params" do
it "does not save the new Purchase" do
expect {
- post :create, {purchase: attributes_for(:bookkeeper_invalid_purchase), use_route: :purchases}, valid_session
+ post :create, {purchase: attributes_for(:bookkeeper_invalid_purchase), use_route: :purchases}
}.to_not change(Purchase, :count).by(1)
end
it "assigns a newly created but unsaved purchase as @purchase" do
- post :create, {purchase: attributes_for(:bookkeeper_invalid_purchase), use_route: :purchases}, valid_session
+ post :create, {purchase: attributes_for(:bookkeeper_invalid_purchase), use_route: :purchases}
expect(assigns(:purchase)).to be_a_new(Purchase)
end
it "re-renders the 'new' template" do
- post :create, {purchase: attributes_for(:bookkeeper_invalid_purchase), use_route: :purchases}, valid_session
+ post :create, {purchase: attributes_for(:bookkeeper_invalid_purchase), use_route: :purchases}
expect(response).to render_template :new
end
end
end
@@ -105,34 +109,34 @@
@purchase = create(:bookkeeper_purchase, title: @purchase_title, description: 'Test lorem ipsum')
end
describe "with valid params" do
it "updates the requested purchase" do
- put :update, {id: @purchase, use_route: :purchases, purchase: attributes_for(:bookkeeper_purchase)}, valid_session
+ put :update, {id: @purchase, use_route: :purchases, purchase: attributes_for(:bookkeeper_purchase)}
expect(assigns(:purchase)).to eq(@purchase)
end
it "assigns the requested purchase as @purchase" do
- put :update, {id: @purchase.to_param, purchase: attributes_for(:bookkeeper_purchase), use_route: :purchases}, valid_session
+ put :update, {id: @purchase.to_param, purchase: attributes_for(:bookkeeper_purchase), use_route: :purchases}
expect(assigns(:purchase)).to eq(@purchase)
end
it "redirects to the purchase" do
- put :update, {id: @purchase.to_param, purchase: attributes_for(:bookkeeper_purchase), use_route: :purchases}, valid_session
+ put :update, {id: @purchase.to_param, purchase: attributes_for(:bookkeeper_purchase), use_route: :purchases}
expect(response).to redirect_to(:purchases)
end
end
describe "with invalid params" do
it "assigns the purchase as @purchase" do
- put :update, {id: @purchase.to_param, purchase: attributes_for(:bookkeeper_invalid_purchase), use_route: :purchases}, valid_session
+ put :update, {id: @purchase.to_param, purchase: attributes_for(:bookkeeper_invalid_purchase), use_route: :purchases}
@purchase.reload
expect(@purchase.title).to eq(@purchase_title)
end
it "re-renders the 'edit' template" do
- put :update, {id: @purchase.to_param, purchase: attributes_for(:bookkeeper_invalid_purchase), use_route: :purchases}, valid_session
+ put :update, {id: @purchase.to_param, purchase: attributes_for(:bookkeeper_invalid_purchase), use_route: :purchases}
expect(response).to render_template :edit
end
end
end
@@ -140,15 +144,15 @@
before :each do
@purchase = create(:bookkeeper_purchase)
end
it "destroys the requested purchase" do
expect {
- delete :destroy, {id: @purchase.to_param, use_route: :purchases}, valid_session
+ delete :destroy, {id: @purchase.to_param, use_route: :purchases}
}.to change(Purchase, :count).by(-1)
end
it "redirects to the purchases list" do
- delete :destroy, {id: @purchase.to_param, use_route: :purchases}, valid_session
+ delete :destroy, {id: @purchase.to_param, use_route: :purchases}
expect(response).to redirect_to :purchases
end
end
end