forgeplus/spec/controllers/sponsor_tiers_controller_sp...

158 lines
6.1 KiB
Ruby

require 'rails_helper'
# This spec was generated by rspec-rails when you ran the scaffold generator.
# It demonstrates how one might use RSpec to specify the controller code that
# was generated by Rails when you ran the scaffold generator.
#
# It assumes that the implementation code is generated by the rails scaffold
# generator. If you are using any extension libraries to generate different
# controller code, this generated spec may or may not pass.
#
# It only uses APIs available in rails and/or rspec-rails. There are a number
# of tools you can use to make these specs even more expressive, but we're
# sticking to rails and rspec-rails APIs to keep things simple and stable.
#
# Compared to earlier versions of this generator, there is very limited use of
# stubs and message expectations in this spec. Stubs are only used when there
# is no simpler way to get a handle on the object needed for the example.
# Message expectations are only used when there is no simpler way to specify
# that an instance is receiving a specific message.
#
# Also compared to earlier versions of this generator, there are no longer any
# expectations of assigns and templates rendered. These features have been
# removed from Rails core in Rails 5, but can be added back in via the
# `rails-controller-testing` gem.
RSpec.describe SponsorTiersController, type: :controller do
# This should return the minimal set of attributes required to create a valid
# SponsorTier. As you add validations to SponsorTier, be sure to
# adjust the attributes here as well.
let(:valid_attributes) {
{tier: 10, user_id: 6, description: 'Rspec test description'}
}
let(:invalid_attributes) {
{t: '10', user_id: -1, descrip: 'Rspec test description'}
}
let(:invalid_user_attributes) {
{tier: 10, user_id: 4, description: 'Rspec test invalid user description'}
}
# This should return the minimal set of values that should be in the session
# in order to pass any filters (e.g. authentication) defined in
# SponsorTiersController. Be sure to keep this updated too.
let(:valid_session) {
{user_id: 6, www_user_id: 6}
}
describe 'GET #index' do
it 'returns a success response' do
SponsorTier.create! valid_attributes
get :index, params: {login: 'qyzh123123'}, session: valid_session
expect(response).to render_template('index')
end
end
describe 'POST #create' do
context 'with valid params' do
it 'render ok' do
post :create, params: valid_attributes, session: valid_session
expect(response).to be_successful
end
end
end
describe 'PUT #update' do
context 'with valid params' do
let(:new_attributes) {
{tier: 12, description: 'Rspec test update description'}
}
# it 'updates the requested sponsor_tier' do
# sponsor_tier = SponsorTier.create! valid_attributes
# put :update, params: {id: sponsor_tier.to_param, sponsor_tier: new_attributes}, session: valid_session
# sponsor_tier.reload
# expect(sponsor_tier.tier).to eq(12)
# expect(sponsor_tier.description).to eq('Rspec test update description')
# end
it 'render ok' do
sponsor_tier = SponsorTier.create! valid_attributes
post :update, params: {id: sponsor_tier.to_param, tier: 10, description: 'Rspec test update description'}, session: valid_session
expect(response).to be_successful
end
end
# context 'with invalid params' do
# it 'does not update and redirects to the sponsor_tier' do
# sponsor_tier = SponsorTier.create! valid_attributes
# put :update, params: {id: sponsor_tier.to_param, sponsor_tier: invalid_attributes}, session: valid_session
# expect(response).to redirect_to(sponsor_tier)
# expect(sponsor_tier.tier).to eq(10)
# expect(sponsor_tier.description).to eq('Rspec test description')
# end
# end
#
# context 'with invalid user id' do
# let(:new_attributes) {
# {tier: 12, description: 'Rspec test update description'}
# }
# it 'does not update SponsorTier' do
# sponsor_tier = SponsorTier.create! invalid_user_attributes
# put :update, params: {id: sponsor_tier.to_param, sponsor_tier: new_attributes}, session: valid_session
# sponsor_tier.reload
# expect(sponsor_tier.tier).to eq(10)
# expect(sponsor_tier.description).to eq('Rspec test invalid user description')
# end
#
# it 'redirects to the sponsor_tier' do
# sponsor_tier = SponsorTier.create! invalid_user_attributes
# put :update, params: {id: sponsor_tier.to_param, sponsor_tier: valid_attributes}, session: valid_session
# expect(response).to be_ok
# end
# end
end
describe 'DELETE #destroy' do
context 'with valid user id' do
# it 'destroys the requested sponsor_tier' do
# sponsor_tier = SponsorTier.create! valid_attributes
# expect {
# delete :destroy, params: {id: sponsor_tier.to_param}, session: valid_session
# }.to change(SponsorTier, :count).by(-1)
# end
it 'be ok' do
sponsor_tier = SponsorTier.create! valid_attributes
delete :destroy, params: {id: sponsor_tier.to_param}, session: valid_session
expect(response).to be_successful
end
end
#
# context 'with invalid user id' do
# it 'does not destroy the requested sponsor_tier' do
# sponsor_tier = SponsorTier.create! invalid_user_attributes
# expect {
# delete :destroy, params: {id: sponsor_tier.to_param}, session: valid_session
# }.to change(SponsorTier, :count).by(0)
# end
#
# it 'be ok' do
# sponsor_tier = SponsorTier.create! invalid_user_attributes
# delete :destroy, params: {id: sponsor_tier.to_param}, session: valid_session
# expect(response).to be_ok
# end
# end
end
describe 'GET #show' do
it 'returns a success response' do
sponsor_tier = SponsorTier.create! valid_attributes
get :show, params: {id: sponsor_tier.to_param}, session: valid_session
expect(response).to be_successful
end
end
end