From ab0d054b3ab9b90b89365ac20e1a4cd09d10fb5b Mon Sep 17 00:00:00 2001 From: Rafael Reggiani Manzo Date: Fri, 22 May 2015 08:58:27 -0300 Subject: [PATCH] Projects and ReadingGroups controllers delegate attributes deletion to the respective models --- app/controllers/projects_controller.rb | 1 - app/controllers/reading_groups_controller.rb | 1 - spec/controllers/projects_controller_spec.rb | 7 +------ spec/controllers/reading_groups_controller_spec.rb | 9 +-------- 4 files changed, 2 insertions(+), 16 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index d39a873..09789fd 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -54,7 +54,6 @@ class ProjectsController < ApplicationController # DELETE /project/1.json def destroy set_project - current_user.project_attributes.find_by_project_id!(@project.id).destroy @project.destroy respond_to do |format| format.html { redirect_to projects_url } diff --git a/app/controllers/reading_groups_controller.rb b/app/controllers/reading_groups_controller.rb index f583847..ecc7252 100644 --- a/app/controllers/reading_groups_controller.rb +++ b/app/controllers/reading_groups_controller.rb @@ -48,7 +48,6 @@ class ReadingGroupsController < ApplicationController # DELETE /reading_group/1 # DELETE /reading_group/1.json def destroy - current_user.reading_group_attributes.find_by_reading_group_id!(@reading_group.id).destroy @reading_group.destroy respond_to do |format| format.html { redirect_to reading_groups_url } diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index ed24219..285465d 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -97,14 +97,9 @@ describe ProjectsController, :type => :controller do context 'when the user owns the project' do before :each do - @project_attributes.expects(:destroy) @subject.expects(:destroy) - #Those two mocks looks the same but they are necessary since params[:id] is a String and @project.id is an Integer :( - @attributes.expects(:find_by_project_id).with("#{@subject.id}").returns(@project_attributes) - @attributes.expects(:find_by_project_id!).with(@subject.id).returns(@project_attributes) - - User.any_instance.expects(:project_attributes).at_least_once.returns(@attributes) + subject.expects(:project_owner?) Project.expects(:find).with(@subject.id).returns(@subject) delete :destroy, :id => @subject.id diff --git a/spec/controllers/reading_groups_controller_spec.rb b/spec/controllers/reading_groups_controller_spec.rb index cb65bf5..de42927 100644 --- a/spec/controllers/reading_groups_controller_spec.rb +++ b/spec/controllers/reading_groups_controller_spec.rb @@ -83,19 +83,12 @@ describe ReadingGroupsController, :type => :controller do sign_in FactoryGirl.create(:user) @ownership = FactoryGirl.build(:reading_group_attributes) @ownerships = [] - end context 'when the user owns the reading group' do before :each do - @ownership.expects(:destroy) @subject.expects(:destroy) - - #Those two mocks looks the same but they are necessary since params[:id] is a String and @ReadingGroup.id is an Integer :( - @ownerships.expects(:find_by_reading_group_id).with("#{@subject.id}").returns(@ownership) - @ownerships.expects(:find_by_reading_group_id!).with(@subject.id).returns(@ownership) - - User.any_instance.expects(:reading_group_attributes).at_least_once.returns(@ownerships) + subject.expects(:reading_group_owner?) ReadingGroup.expects(:find).with(@subject.id).returns(@subject) delete :destroy, :id => @subject.id -- libgit2 0.21.2