forked from Gitlink/forgeplus
158 lines
6.1 KiB
Ruby
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
|