user controller test
This commit is contained in:
parent
b5782b13d8
commit
6248e1211a
1 changed files with 78 additions and 8 deletions
|
@ -1,9 +1,9 @@
|
|||
# quickpay_user GET /users/:id/quickpay(.:format) users#quickpay
|
||||
# edit_dagschotel_user GET /users/:id/dagschotel/edit(.:format) users#edit_dagschotel
|
||||
# edit_user GET /users/:id/edit(.:format) users#edit
|
||||
# user GET /users/:id(.:format) users#show
|
||||
# PATCH /users/:id(.:format) users#update
|
||||
# PUT /users/:id(.:format) users#update
|
||||
# quickpay_user GET /users/:id/quickpay(.:format) users#quickpay
|
||||
# edit_dagschotel_user GET /users/:id/dagschotel/edit(.:format) users#edit_dagschotel
|
||||
# edit_user GET /users/:id/edit(.:format) users#edit
|
||||
# user GET /users/:id(.:format) users#show
|
||||
# PATCH /users/:id(.:format) users#update
|
||||
# PUT /users/:id(.:format) users#update
|
||||
#
|
||||
|
||||
describe UsersController, type: :controller do
|
||||
|
@ -22,10 +22,13 @@ describe UsersController, type: :controller do
|
|||
end
|
||||
|
||||
it 'should be successful' do
|
||||
expect(response).to render_template(:show)
|
||||
expect(response).to have_http_status(200)
|
||||
end
|
||||
|
||||
it 'should render the user' do
|
||||
expect(response).to render_template(:show)
|
||||
end
|
||||
|
||||
it 'should load the correct user' do
|
||||
expect(assigns(:user)).to eq(@user)
|
||||
end
|
||||
|
@ -40,6 +43,10 @@ describe UsersController, type: :controller do
|
|||
get :edit, id: @user
|
||||
end
|
||||
|
||||
it 'should be successful' do
|
||||
expect(response).to have_http_status(200)
|
||||
end
|
||||
|
||||
it 'should render the form' do
|
||||
expect(response).to render_template(:edit)
|
||||
end
|
||||
|
@ -79,10 +86,73 @@ describe UsersController, type: :controller do
|
|||
#####################
|
||||
|
||||
describe 'GET edit_dagschotel' do
|
||||
it 'should be successful' do
|
||||
expect(response).to have_http_status(200)
|
||||
end
|
||||
|
||||
it 'should render the page' do
|
||||
get :edit_dagschotel, id: @user
|
||||
expect(response).to render_template(:edit_dagschotel)
|
||||
expect(response).to have_http_status(200)
|
||||
end
|
||||
end
|
||||
|
||||
##############
|
||||
# QUICKPAY #
|
||||
##############
|
||||
|
||||
describe 'GET quickpay' do
|
||||
describe 'successful' do
|
||||
before :each do
|
||||
@dagschotel = create :product, stock: 20
|
||||
@user.update_attribute(:dagschotel, @dagschotel)
|
||||
end
|
||||
|
||||
it 'should be successful' do
|
||||
expect(response).to have_http_status(200)
|
||||
end
|
||||
|
||||
it 'should make an order' do
|
||||
expect{
|
||||
get :quickpay, id: @user
|
||||
}.to change{ @user.reload.orders_count }.by(1)
|
||||
end
|
||||
|
||||
describe 'order' do
|
||||
before :each do
|
||||
get :quickpay, id: @user
|
||||
@order = @user.orders.last
|
||||
end
|
||||
|
||||
it 'should contain 1 orderitem' do
|
||||
expect(@order.order_items.size).to eq 1
|
||||
end
|
||||
|
||||
it 'should have an orderitem with count 1' do
|
||||
expect(@order.order_items.first.count).to eq 1
|
||||
end
|
||||
|
||||
it 'should contain an orderitem for @dagschotel' do
|
||||
expect(@order.order_items.first.product).to eq @dagschotel
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'failed' do
|
||||
before :each do
|
||||
@dagschotel = create :product, stock: 0
|
||||
@user.update_attribute(:dagschotel, @dagschotel)
|
||||
end
|
||||
|
||||
it 'should fail' do
|
||||
get :quickpay, id: @user
|
||||
expect(response).to have_http_status(302)
|
||||
end
|
||||
|
||||
it 'should not make an order' do
|
||||
expect{
|
||||
get :quickpay, id: @user
|
||||
}.to_not change{ @user.reload.orders_count }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue