Skip to content

Commit

Permalink
[Sandeep] #2 Defect- Delete previous cabpool on approval of anther ca…
Browse files Browse the repository at this point in the history
…bpool incase of only person in the previous cabpool
  • Loading branch information
dsandeephegde committed Feb 3, 2016
1 parent c2b09e1 commit 13db3cd
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
12 changes: 11 additions & 1 deletion app/controllers/cabpools_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,11 @@ def view_notification
def approve_user user
request = Request.find_by_user_id(user.id)
if !user.cabpool.nil?
send_email_to_cabpool_users_on_member_leaving(user.cabpool.users.reject { |u| u.id == user.id } ,user)
if user.cabpool.users.length > 1
send_email_to_cabpool_users_on_member_leaving(user.cabpool.users.reject { |u| u.id == user.id } ,user)
else
destroy user.cabpool
end
end
user.cabpool = request.cabpool
user.status = 'approved'
Expand All @@ -169,6 +173,12 @@ def approve_user user
render 'request_accept'
end

def destroy cabpool
cabpool.users.clear
cabpool.requests.clear
cabpool.destroy!
end

def send_email_to_admin_about_new_user joining_user
if joining_user.cabpool.cabpool_type_id == 1
CabpoolMailer.admin_notifier_for_new_user(joining_user).deliver_now
Expand Down
2 changes: 2 additions & 0 deletions spec/controllers/cabpools_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,7 @@
allow(user.cabpool).to receive(:id).and_return(1)
allow(request).to receive(:approve_digest).and_return("ABCD")
allow(request.cabpool.users).to receive(:count).and_return 2
allow(request.cabpool).to receive(:destroy).and_return true
get :approve_reject_handler, approve: "true", token: "ABCD", user: '1'
expect(ActionMailer::Base.deliveries.size).to eq 2
expect(response).to render_template 'request_accept'
Expand All @@ -386,6 +387,7 @@
allow(user.cabpool).to receive(:id).and_return(1)
allow(request).to receive(:approve_digest).and_return("ABCD")
allow(request.cabpool.users).to receive(:count).and_return 3
allow(request.cabpool).to receive(:destroy).and_return true
get :approve_reject_handler, approve: "true", token: "ABCD", user: '1'
expect(ActionMailer::Base.deliveries.size).to eq 2
expect(response).to render_template 'request_accept'
Expand Down

0 comments on commit 13db3cd

Please sign in to comment.