fix bugs
This commit is contained in:
parent
ffbe4942b7
commit
5addece8d5
|
@ -11,6 +11,7 @@ class ApplicationController < ActionController::Base
|
||||||
include LoggerHelper
|
include LoggerHelper
|
||||||
include LoginHelper
|
include LoginHelper
|
||||||
include RegisterHelper
|
include RegisterHelper
|
||||||
|
include UpdateHelper
|
||||||
|
|
||||||
protect_from_forgery prepend: true, unless: -> { request.format.json? }
|
protect_from_forgery prepend: true, unless: -> { request.format.json? }
|
||||||
|
|
||||||
|
|
|
@ -23,9 +23,8 @@ class SponsorTiersController < ApplicationController
|
||||||
# print("------------\n", sponsor_tier_params, "\n------------\n")
|
# print("------------\n", sponsor_tier_params, "\n------------\n")
|
||||||
@check_sponsorship = nil
|
@check_sponsorship = nil
|
||||||
@sponsor_tier = SponsorTier.new(sponsor_tier_params)
|
@sponsor_tier = SponsorTier.new(sponsor_tier_params)
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @sponsor_tier.save
|
if @sponsor_tier.user_id == User.current.id && @sponsor_tier.save
|
||||||
format.html { redirect_to @sponsor_tier, notice: 'Sponsor tier was successfully created.' }
|
format.html { redirect_to @sponsor_tier, notice: 'Sponsor tier was successfully created.' }
|
||||||
format.json { render :show, status: :created, location: @sponsor_tier }
|
format.json { render :show, status: :created, location: @sponsor_tier }
|
||||||
# render json: {status: 1, message: '创建成功' }
|
# render json: {status: 1, message: '创建成功' }
|
||||||
|
@ -40,8 +39,10 @@ class SponsorTiersController < ApplicationController
|
||||||
# PATCH/PUT /sponsor_tiers/1.json
|
# PATCH/PUT /sponsor_tiers/1.json
|
||||||
def update
|
def update
|
||||||
@check_sponsorship = nil
|
@check_sponsorship = nil
|
||||||
|
old_value = old_value_to_hash(@sponsor_tier, params)
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if User.current.id == @sponsor_tier.user_id && @sponsor_tier.update(sponsor_tier_params)
|
if User.current.id == @sponsor_tier.user_id && @sponsor_tier.update(sponsor_tier_update_params)
|
||||||
|
user_trace_update_log(old_value)
|
||||||
format.html { redirect_to @sponsor_tier, notice: 'Sponsor tier was successfully updated.' }
|
format.html { redirect_to @sponsor_tier, notice: 'Sponsor tier was successfully updated.' }
|
||||||
format.json { render :show, status: :ok, location: @sponsor_tier }
|
format.json { render :show, status: :ok, location: @sponsor_tier }
|
||||||
# render json: {status: 1, message: '修改成功' }
|
# render json: {status: 1, message: '修改成功' }
|
||||||
|
@ -71,13 +72,17 @@ class SponsorTiersController < ApplicationController
|
||||||
private
|
private
|
||||||
# Use callbacks to share common setup or constraints between actions.
|
# Use callbacks to share common setup or constraints between actions.
|
||||||
def check_sponsor
|
def check_sponsor
|
||||||
@check_sponsorship = Sponsorship.where("sponsor_id=? AND developer_id=?", current_user.id, @sponsor_tier.user)
|
@check_sponsorship = Sponsorship.where("sponsor_id=? AND developer_id=?", current_user.id, @sponsor_tier.user.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_sponsor_tier
|
def set_sponsor_tier
|
||||||
@sponsor_tier = SponsorTier.find(params[:id])
|
@sponsor_tier = SponsorTier.find(params[:id])
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def sponsor_tier_update_params
|
||||||
|
params.require(:sponsor_tier).permit(:tier, :description)
|
||||||
|
end
|
||||||
|
|
||||||
# Only allow a list of trusted parameters through.
|
# Only allow a list of trusted parameters through.
|
||||||
def sponsor_tier_params
|
def sponsor_tier_params
|
||||||
params.require(:sponsor_tier).permit(:tier, :user_id, :description)
|
params.require(:sponsor_tier).permit(:tier, :user_id, :description)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
class SponsorshipsController < ApplicationController
|
class SponsorshipsController < ApplicationController
|
||||||
before_action :set_sponsorship, only: [:show, :edit, :update, :destroy]
|
before_action :set_sponsorship, only: [:show, :edit, :update, :destroy]
|
||||||
# before_action :require_login, except: [:index, :stopped, :sponsored, :sponsoring, :stopped_sponsored, :stopped_sponsoring]
|
# before_action :require_login, except: [:index, :stopped, :sponsored, :sponsoring, :stopped_sponsored, :stopped_sponsoring]
|
||||||
before_action :require_login, only: [:new, :create, :edit, :update, :destroy]
|
before_action :require_login, only: [:create, :edit, :update, :destroy]
|
||||||
skip_after_action :user_trace_log, only: [:update]
|
skip_after_action :user_trace_log, only: [:update]
|
||||||
|
|
||||||
# GET /sponsorships
|
# GET /sponsorships
|
||||||
|
@ -78,7 +78,7 @@ class SponsorshipsController < ApplicationController
|
||||||
check_sponsorship = Sponsorship.where("sponsor_id=? AND developer_id=?", sponsor_id, params[:developer_id])
|
check_sponsorship = Sponsorship.where("sponsor_id=? AND developer_id=?", sponsor_id, params[:developer_id])
|
||||||
|
|
||||||
@sponsorship = Sponsorship.new(sponsorship_params.merge({sponsor_id: sponsor_id}))
|
@sponsorship = Sponsorship.new(sponsorship_params.merge({sponsor_id: sponsor_id}))
|
||||||
# print('#######################', params[:single].class)
|
|
||||||
unless check_sponsorship.length.zero?
|
unless check_sponsorship.length.zero?
|
||||||
return render json: {status: -1, message: '您已经赞助了TA' }
|
return render json: {status: -1, message: '您已经赞助了TA' }
|
||||||
end
|
end
|
||||||
|
@ -119,11 +119,12 @@ class SponsorshipsController < ApplicationController
|
||||||
# format.json { render json: @sponsorship.errors, status: :unprocessable_entity }
|
# format.json { render json: @sponsorship.errors, status: :unprocessable_entity }
|
||||||
# end
|
# end
|
||||||
# end
|
# end
|
||||||
|
|
||||||
if @sponsorship.sponsor.id != current_user.id
|
if @sponsorship.sponsor.id != current_user.id
|
||||||
return render json: {status: -1, message: '没有权限' }
|
return render json: {status: 401, message: '没有权限' }
|
||||||
end
|
end
|
||||||
old_value = old_value_to_hash(@sponsorship, params)
|
old_value = old_value_to_hash(@sponsorship, params)
|
||||||
# params.delete :sponsorship
|
|
||||||
if @sponsorship.update(sponsorship_params)
|
if @sponsorship.update(sponsorship_params)
|
||||||
user_trace_update_log(old_value)
|
user_trace_update_log(old_value)
|
||||||
render json: {status: 1, message: '修改成功' }
|
render json: {status: 1, message: '修改成功' }
|
||||||
|
@ -140,7 +141,9 @@ class SponsorshipsController < ApplicationController
|
||||||
# format.html { redirect_to sponsorships_url, notice: 'Sponsorship was successfully destroyed.' }
|
# format.html { redirect_to sponsorships_url, notice: 'Sponsorship was successfully destroyed.' }
|
||||||
# format.json { head :no_content }
|
# format.json { head :no_content }
|
||||||
# end
|
# end
|
||||||
if (User.current.id == @sponsorship.developer.id || User.current.id == @sponsorship.sponsor.id) && @sponsorship.stop
|
developer = @sponsorship.developer
|
||||||
|
sponsor = @sponsorship.sponsor
|
||||||
|
if (User.current.id == developer.id || User.current.id == sponsor.id) && developer.update(sponsored_num: developer.sponsored_num-1) && sponsor.update(sponsor_num: sponsor.sponsor_num-1) && @sponsorship.stop
|
||||||
render json: {status: 1, message: "终止成功"}
|
render json: {status: 1, message: "终止成功"}
|
||||||
else
|
else
|
||||||
render json: {status: -1, message: "失败"}
|
render json: {status: -1, message: "失败"}
|
||||||
|
|
|
@ -29,113 +29,160 @@ RSpec.describe SponsorTiersController, type: :controller do
|
||||||
# SponsorTier. As you add validations to SponsorTier, be sure to
|
# SponsorTier. As you add validations to SponsorTier, be sure to
|
||||||
# adjust the attributes here as well.
|
# adjust the attributes here as well.
|
||||||
let(:valid_attributes) {
|
let(:valid_attributes) {
|
||||||
skip("Add a hash of attributes valid for your model")
|
{tier: 10, user_id: 5, description: 'Rspec test description'}
|
||||||
}
|
}
|
||||||
|
|
||||||
let(:invalid_attributes) {
|
let(:invalid_attributes) {
|
||||||
skip("Add a hash of attributes invalid for your model")
|
{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
|
# 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
|
# in order to pass any filters (e.g. authentication) defined in
|
||||||
# SponsorTiersController. Be sure to keep this updated too.
|
# SponsorTiersController. Be sure to keep this updated too.
|
||||||
let(:valid_session) { {} }
|
let(:valid_session) {
|
||||||
|
# user = User.find 5
|
||||||
|
# User.current = user
|
||||||
|
# cookies.signed[:user_id] = user.id
|
||||||
|
# cookies["autologin"] = "060a555275563b9f096c6ceed84518f64a4614ee"
|
||||||
|
{user_id: 5, www_user_id: 5}
|
||||||
|
}
|
||||||
|
|
||||||
describe "GET #index" do
|
describe 'GET #index' do
|
||||||
it "returns a success response" do
|
it 'returns a success response' do
|
||||||
SponsorTier.create! valid_attributes
|
SponsorTier.create! valid_attributes
|
||||||
get :index, params: {login: qyzh123123}, session: valid_session
|
get :index, params: {login: 'qyzh123123'}, session: valid_session
|
||||||
expect(response).to be_successful
|
expect(response).to be_successful
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "GET #show" do
|
describe 'GET #show' do
|
||||||
it "returns a success response" do
|
it 'returns a success response' do
|
||||||
sponsor_tier = SponsorTier.create! valid_attributes
|
sponsor_tier = SponsorTier.create! valid_attributes
|
||||||
get :show, params: {id: sponsor_tier.to_param}, session: valid_session
|
get :show, params: {id: sponsor_tier.to_param}, session: valid_session
|
||||||
expect(response).to be_successful
|
expect(response).to be_successful
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "GET #new" do
|
describe 'POST #create' do
|
||||||
it "returns a success response" do
|
context 'with valid params' do
|
||||||
get :new, params: {}, session: valid_session
|
it 'creates a new SponsorTier' do
|
||||||
expect(response).to be_successful
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "GET #edit" do
|
|
||||||
it "returns a success response" do
|
|
||||||
sponsor_tier = SponsorTier.create! valid_attributes
|
|
||||||
get :edit, params: {id: sponsor_tier.to_param}, session: valid_session
|
|
||||||
expect(response).to be_successful
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "POST #create" do
|
|
||||||
context "with valid params" do
|
|
||||||
it "creates a new SponsorTier" do
|
|
||||||
expect {
|
expect {
|
||||||
post :create, params: {sponsor_tier: valid_attributes}, session: valid_session
|
post :create, params: {sponsor_tier: valid_attributes}, session: valid_session
|
||||||
}.to change(SponsorTier, :count).by(1)
|
}.to change(SponsorTier, :count).by(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "redirects to the created sponsor_tier" do
|
it 'redirects to the created sponsor_tier' do
|
||||||
post :create, params: {sponsor_tier: valid_attributes}, session: valid_session
|
post :create, params: {sponsor_tier: valid_attributes}, session: valid_session
|
||||||
expect(response).to redirect_to(SponsorTier.last)
|
expect(response).to redirect_to(SponsorTier.last)
|
||||||
|
# expect(response).to be_successful
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "with invalid params" do
|
context 'with invalid params' do
|
||||||
it "returns a success response (i.e. to display the 'new' template)" do
|
it "returns a success response (i.e. to display the 'new' template)" do
|
||||||
post :create, params: {sponsor_tier: invalid_attributes}, session: valid_session
|
post :create, params: {sponsor_tier: invalid_attributes}, session: valid_session
|
||||||
expect(response).to be_successful
|
expect(response).to be_successful
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'with invalid user id' do
|
||||||
|
it 'does not creates a new SponsorTier' do
|
||||||
|
expect {
|
||||||
|
post :create, params: {sponsor_tier: invalid_user_attributes}, session: valid_session
|
||||||
|
}.to change(SponsorTier, :count).by(0)
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "PUT #update" do
|
it "returns a success response" do
|
||||||
context "with valid params" do
|
post :create, params: {sponsor_tier: invalid_user_attributes}, session: valid_session
|
||||||
|
expect(response).to be_successful
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'PUT #update' do
|
||||||
|
context 'with valid params' do
|
||||||
let(:new_attributes) {
|
let(:new_attributes) {
|
||||||
skip("Add a hash of attributes valid for your model")
|
{tier: 12, description: 'Rspec test update description'}
|
||||||
}
|
}
|
||||||
|
|
||||||
it "updates the requested sponsor_tier" do
|
it 'updates the requested sponsor_tier' do
|
||||||
sponsor_tier = SponsorTier.create! valid_attributes
|
sponsor_tier = SponsorTier.create! valid_attributes
|
||||||
put :update, params: {id: sponsor_tier.to_param, sponsor_tier: new_attributes}, session: valid_session
|
put :update, params: {id: sponsor_tier.to_param, sponsor_tier: new_attributes}, session: valid_session
|
||||||
sponsor_tier.reload
|
sponsor_tier.reload
|
||||||
skip("Add assertions for updated state")
|
expect(sponsor_tier.tier).to eq(12)
|
||||||
|
expect(sponsor_tier.description).to eq('Rspec test update description')
|
||||||
end
|
end
|
||||||
|
|
||||||
it "redirects to the sponsor_tier" do
|
it 'redirects to the sponsor_tier' do
|
||||||
sponsor_tier = SponsorTier.create! valid_attributes
|
sponsor_tier = SponsorTier.create! valid_attributes
|
||||||
put :update, params: {id: sponsor_tier.to_param, sponsor_tier: valid_attributes}, session: valid_session
|
put :update, params: {id: sponsor_tier.to_param, sponsor_tier: valid_attributes}, session: valid_session
|
||||||
expect(response).to redirect_to(sponsor_tier)
|
expect(response).to redirect_to(sponsor_tier)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "with invalid params" do
|
context 'with invalid params' do
|
||||||
it "returns a success response (i.e. to display the 'edit' template)" do
|
it 'does not update and redirects to the sponsor_tier' do
|
||||||
sponsor_tier = SponsorTier.create! valid_attributes
|
sponsor_tier = SponsorTier.create! valid_attributes
|
||||||
put :update, params: {id: sponsor_tier.to_param, sponsor_tier: invalid_attributes}, session: valid_session
|
put :update, params: {id: sponsor_tier.to_param, sponsor_tier: invalid_attributes}, session: valid_session
|
||||||
expect(response).to be_successful
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "DELETE #destroy" do
|
describe 'DELETE #destroy' do
|
||||||
it "destroys the requested sponsor_tier" do
|
context 'with valid user id' do
|
||||||
|
it 'destroys the requested sponsor_tier' do
|
||||||
sponsor_tier = SponsorTier.create! valid_attributes
|
sponsor_tier = SponsorTier.create! valid_attributes
|
||||||
expect {
|
expect {
|
||||||
delete :destroy, params: {id: sponsor_tier.to_param}, session: valid_session
|
delete :destroy, params: {id: sponsor_tier.to_param}, session: valid_session
|
||||||
}.to change(SponsorTier, :count).by(-1)
|
}.to change(SponsorTier, :count).by(-1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "redirects to the sponsor_tiers list" do
|
it 'redirects to the sponsor_tiers list' do
|
||||||
sponsor_tier = SponsorTier.create! valid_attributes
|
sponsor_tier = SponsorTier.create! valid_attributes
|
||||||
delete :destroy, params: {id: sponsor_tier.to_param}, session: valid_session
|
delete :destroy, params: {id: sponsor_tier.to_param}, session: valid_session
|
||||||
expect(response).to redirect_to(sponsor_tiers_url)
|
expect(response).to redirect_to(sponsor_tiers_url)
|
||||||
end
|
end
|
||||||
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
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -29,22 +29,38 @@ RSpec.describe SponsorshipsController, type: :controller do
|
||||||
# Sponsorship. As you add validations to Sponsorship, be sure to
|
# Sponsorship. As you add validations to Sponsorship, be sure to
|
||||||
# adjust the attributes here as well.
|
# adjust the attributes here as well.
|
||||||
let(:valid_attributes) {
|
let(:valid_attributes) {
|
||||||
skip("Add a hash of attributes valid for your model")
|
{amount: 10, visible: 1, developer_id: 1, sponsor_id: 5}
|
||||||
|
}
|
||||||
|
|
||||||
|
let(:valid_create_api_attributes) {
|
||||||
|
{amount: 10, visible: 1, developer_id: 1}
|
||||||
|
}
|
||||||
|
|
||||||
|
let(:invalid_user_attributes) {
|
||||||
|
{amount: 10, visible: 1, sponsor_id: 4, developer_id: 1}
|
||||||
}
|
}
|
||||||
|
|
||||||
let(:invalid_attributes) {
|
let(:invalid_attributes) {
|
||||||
skip("Add a hash of attributes invalid for your model")
|
{amunt: 10, visible: 1, developid: 1, sponsoid: 5}
|
||||||
}
|
}
|
||||||
|
|
||||||
# This should return the minimal set of values that should be in the session
|
# 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
|
# in order to pass any filters (e.g. authentication) defined in
|
||||||
# SponsorshipsController. Be sure to keep this updated too.
|
# SponsorshipsController. Be sure to keep this updated too.
|
||||||
let(:valid_session) { {} }
|
let(:valid_session) { {www_user_id: 5} }
|
||||||
|
|
||||||
describe "GET #index" do
|
describe "GET #index" do
|
||||||
it "returns a success response" do
|
it "returns a success response" do
|
||||||
Sponsorship.create! valid_attributes
|
Sponsorship.create! valid_attributes
|
||||||
get :index, params: {}, session: valid_session
|
get :index, params: {}, format: 'json', session: valid_session
|
||||||
|
expect(response.body).to eq('[]')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "GET #stopped" do
|
||||||
|
it "returns a success response" do
|
||||||
|
sponsorship=StoppedSponsorship.create! valid_attributes
|
||||||
|
get :stopped, params: {}, format: 'json', session: valid_session
|
||||||
expect(response).to be_successful
|
expect(response).to be_successful
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -57,32 +73,37 @@ RSpec.describe SponsorshipsController, type: :controller do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "GET #new" do
|
|
||||||
it "returns a success response" do
|
|
||||||
get :new, params: {}, session: valid_session
|
|
||||||
expect(response).to be_successful
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "GET #edit" do
|
|
||||||
it "returns a success response" do
|
|
||||||
sponsorship = Sponsorship.create! valid_attributes
|
|
||||||
get :edit, params: {id: sponsorship.to_param}, session: valid_session
|
|
||||||
expect(response).to be_successful
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
describe "POST #create" do
|
describe "POST #create" do
|
||||||
context "with valid params" do
|
context "with valid params" do
|
||||||
it "creates a new Sponsorship" do
|
it "creates a new Sponsorship" do
|
||||||
expect {
|
expect {
|
||||||
post :create, params: {sponsorship: valid_attributes}, session: valid_session
|
post :create, params: {sponsorship: valid_create_api_attributes}, session: valid_session
|
||||||
}.to change(Sponsorship, :count).by(1)
|
}.to change(Sponsorship, :count).by(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "redirects to the created sponsorship" do
|
it "redirects to the created sponsorship" do
|
||||||
post :create, params: {sponsorship: valid_attributes}, session: valid_session
|
post :create, params: {sponsorship: valid_create_api_attributes}, session: valid_session
|
||||||
expect(response).to redirect_to(Sponsorship.last)
|
expect(response).to be_ok
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "single sponsor" do
|
||||||
|
let(:valid_single_params){
|
||||||
|
{amount: 10, visible: 1, developer_id: 1, single: true}
|
||||||
|
}
|
||||||
|
it "creates a stopped sponsorship" do
|
||||||
|
expect {
|
||||||
|
post :create, params: {amount: 10, visible: 1, developer_id: 1, single: true}, session: valid_session
|
||||||
|
}.to change(StoppedSponsorship, :count).by(0)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "repeat sponsor" do
|
||||||
|
it "creates only one new Sponsorship" do
|
||||||
|
Sponsorship.create! valid_attributes
|
||||||
|
expect {
|
||||||
|
post :create, params: {sponsorship: valid_create_api_attributes}, session: valid_session
|
||||||
|
}.to change(Sponsorship, :count).by(1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -97,20 +118,29 @@ RSpec.describe SponsorshipsController, type: :controller do
|
||||||
describe "PUT #update" do
|
describe "PUT #update" do
|
||||||
context "with valid params" do
|
context "with valid params" do
|
||||||
let(:new_attributes) {
|
let(:new_attributes) {
|
||||||
skip("Add a hash of attributes valid for your model")
|
{amount: 20, visible: 0}
|
||||||
}
|
}
|
||||||
|
|
||||||
it "updates the requested sponsorship" do
|
it "updates the requested sponsorship" do
|
||||||
sponsorship = Sponsorship.create! valid_attributes
|
sponsorship = Sponsorship.create! valid_attributes
|
||||||
put :update, params: {id: sponsorship.to_param, sponsorship: new_attributes}, session: valid_session
|
put :update, params: {id: sponsorship.to_param, sponsorship: new_attributes}, session: valid_session
|
||||||
sponsorship.reload
|
sponsorship.reload
|
||||||
skip("Add assertions for updated state")
|
expect(sponsorship.amount).to eq(20)
|
||||||
|
expect(sponsorship.visible).to eq(0)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "redirects to the sponsorship" do
|
it "does not updates the requested sponsorship with wrong user" do
|
||||||
|
sponsorship = Sponsorship.create! invalid_user_attributes
|
||||||
|
put :update, params: {id: sponsorship.to_param, sponsorship: new_attributes}, session: valid_session
|
||||||
|
sponsorship.reload
|
||||||
|
expect(sponsorship.amount).to eq(10)
|
||||||
|
expect(sponsorship.visible).to eq(1)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "return ok" do
|
||||||
sponsorship = Sponsorship.create! valid_attributes
|
sponsorship = Sponsorship.create! valid_attributes
|
||||||
put :update, params: {id: sponsorship.to_param, sponsorship: valid_attributes}, session: valid_session
|
put :update, params: {id: sponsorship.to_param, sponsorship: valid_attributes}, session: valid_session
|
||||||
expect(response).to redirect_to(sponsorship)
|
expect(response).to be_ok
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -131,10 +161,23 @@ RSpec.describe SponsorshipsController, type: :controller do
|
||||||
}.to change(Sponsorship, :count).by(-1)
|
}.to change(Sponsorship, :count).by(-1)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "redirects to the sponsorships list" do
|
it "destroys the requested sponsorship" do
|
||||||
|
sponsorship = Sponsorship.create! invalid_user_attributes
|
||||||
|
expect {
|
||||||
|
delete :destroy, params: {id: sponsorship.to_param}, session: valid_session
|
||||||
|
}.to change(Sponsorship, :count).by(0)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "return ok" do
|
||||||
sponsorship = Sponsorship.create! valid_attributes
|
sponsorship = Sponsorship.create! valid_attributes
|
||||||
delete :destroy, params: {id: sponsorship.to_param}, session: valid_session
|
delete :destroy, params: {id: sponsorship.to_param}, session: valid_session
|
||||||
expect(response).to redirect_to(sponsorships_url)
|
expect(response).to be_ok
|
||||||
|
end
|
||||||
|
|
||||||
|
it "return ok" do
|
||||||
|
sponsorship = Sponsorship.create! invalid_user_attributes
|
||||||
|
delete :destroy, params: {id: sponsorship.to_param}, session: valid_session
|
||||||
|
expect(response).to be_ok
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe "Sponsorships", type: :request do
|
RSpec.describe "Sponsorships", type: :request do
|
||||||
|
let(:valid_session) { {www_user_id: 5} }
|
||||||
|
|
||||||
describe "GET /sponsorships" do
|
describe "GET /sponsorships" do
|
||||||
it "works! (now write some real specs)" do
|
it "works! (now write some real specs)" do
|
||||||
get sponsorships_path
|
get sponsorships_path
|
||||||
expect(response).to have_http_status(200)
|
expect(response).to have_http_status(200)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
require "rails_helper"
|
||||||
|
|
||||||
|
RSpec.describe LogController, type: :routing do
|
||||||
|
describe "routing" do
|
||||||
|
it "routes to #index" do
|
||||||
|
expect(:get => "/api/log/list").to route_to("log#list")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
|
@ -3,36 +3,27 @@ require "rails_helper"
|
||||||
RSpec.describe SponsorTiersController, type: :routing do
|
RSpec.describe SponsorTiersController, type: :routing do
|
||||||
describe "routing" do
|
describe "routing" do
|
||||||
it "routes to #index" do
|
it "routes to #index" do
|
||||||
expect(:get => "/sponsor_tiers").to route_to("sponsor_tiers#index")
|
expect(:get => "/api/sponsor_tiers").to route_to("sponsor_tiers#index")
|
||||||
end
|
|
||||||
|
|
||||||
it "routes to #new" do
|
|
||||||
expect(:get => "/sponsor_tiers/new").to route_to("sponsor_tiers#new")
|
|
||||||
end
|
end
|
||||||
|
|
||||||
it "routes to #show" do
|
it "routes to #show" do
|
||||||
expect(:get => "/sponsor_tiers/1").to route_to("sponsor_tiers#show", :id => "1")
|
expect(:get => "/api/sponsor_tiers/1").to route_to("sponsor_tiers#show", :id => "1")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "routes to #edit" do
|
|
||||||
expect(:get => "/sponsor_tiers/1/edit").to route_to("sponsor_tiers#edit", :id => "1")
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
it "routes to #create" do
|
it "routes to #create" do
|
||||||
expect(:post => "/sponsor_tiers").to route_to("sponsor_tiers#create")
|
expect(:post => "/api/sponsor_tiers").to route_to("sponsor_tiers#create")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "routes to #update via PUT" do
|
it "routes to #update via PUT" do
|
||||||
expect(:put => "/sponsor_tiers/1").to route_to("sponsor_tiers#update", :id => "1")
|
expect(:put => "/api/sponsor_tiers/1").to route_to("sponsor_tiers#update", :id => "1")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "routes to #update via PATCH" do
|
it "routes to #update via PATCH" do
|
||||||
expect(:patch => "/sponsor_tiers/1").to route_to("sponsor_tiers#update", :id => "1")
|
expect(:patch => "/api/sponsor_tiers/1").to route_to("sponsor_tiers#update", :id => "1")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "routes to #destroy" do
|
it "routes to #destroy" do
|
||||||
expect(:delete => "/sponsor_tiers/1").to route_to("sponsor_tiers#destroy", :id => "1")
|
expect(:delete => "/api/sponsor_tiers/1").to route_to("sponsor_tiers#destroy", :id => "1")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,36 +3,47 @@ require "rails_helper"
|
||||||
RSpec.describe SponsorshipsController, type: :routing do
|
RSpec.describe SponsorshipsController, type: :routing do
|
||||||
describe "routing" do
|
describe "routing" do
|
||||||
it "routes to #index" do
|
it "routes to #index" do
|
||||||
expect(:get => "/sponsorships").to route_to("sponsorships#index")
|
expect(:get => "/api/sponsorships").to route_to("sponsorships#index")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "routes to #new" do
|
it "routes to stopped" do
|
||||||
expect(:get => "/sponsorships/new").to route_to("sponsorships#new")
|
expect(:get => "/api/sponsorships/stopped").to route_to("sponsorships#stopped")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "routes to sponsoring" do
|
||||||
|
expect(:get => "/api/sponsorships/sponsoring").to route_to("sponsorships#sponsoring")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "routes to stopped_sponsoring" do
|
||||||
|
expect(:get => "/api/sponsorships/stopped_sponsoring").to route_to("sponsorships#stopped_sponsoring")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "routes to sponsored" do
|
||||||
|
expect(:get => "/api/sponsorships/sponsored").to route_to("sponsorships#sponsored")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "routes to stopped_sponsored" do
|
||||||
|
expect(:get => "/api/sponsorships/stopped_sponsored").to route_to("sponsorships#stopped_sponsored")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "routes to #show" do
|
it "routes to #show" do
|
||||||
expect(:get => "/sponsorships/1").to route_to("sponsorships#show", :id => "1")
|
expect(:get => "/api/sponsorships/1").to route_to("sponsorships#show", :id => "1")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "routes to #edit" do
|
|
||||||
expect(:get => "/sponsorships/1/edit").to route_to("sponsorships#edit", :id => "1")
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
it "routes to #create" do
|
it "routes to #create" do
|
||||||
expect(:post => "/sponsorships").to route_to("sponsorships#create")
|
expect(:post => "/api/sponsorships").to route_to("sponsorships#create")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "routes to #update via PUT" do
|
it "routes to #update via PUT" do
|
||||||
expect(:put => "/sponsorships/1").to route_to("sponsorships#update", :id => "1")
|
expect(:put => "/api/sponsorships/1").to route_to("sponsorships#update", :id => "1")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "routes to #update via PATCH" do
|
it "routes to #update via PATCH" do
|
||||||
expect(:patch => "/sponsorships/1").to route_to("sponsorships#update", :id => "1")
|
expect(:patch => "/api/sponsorships/1").to route_to("sponsorships#update", :id => "1")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "routes to #destroy" do
|
it "routes to #destroy" do
|
||||||
expect(:delete => "/sponsorships/1").to route_to("sponsorships#destroy", :id => "1")
|
expect(:delete => "/api/sponsorships/1").to route_to("sponsorships#destroy", :id => "1")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue