Created
June 24, 2010 08:43
-
-
Save mallain/451179 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'test_helper' | |
class Hr::AlertCollaboratorsControllerTest < ActionController::TestCase | |
context "logged in" do | |
setup do | |
UserSession.create(Factory(:user)) | |
Factory(:agency) | |
Factory(:feedback) | |
@alert_collaborator = Factory.stub(:alert_collaborator) | |
@alert_collaborator.id = 1001 | |
AlertCollaborator.stubs(:find).returns(@alert_collaborator) | |
AlertCollaborator.stubs(:find).with(:all, anything).returns([@alert_collaborator]) | |
end | |
should_get_action :index | |
should_get_action :new | |
context "on POST to :create (valid data)" do | |
setup do | |
AlertCollaborator.any_instance.expects(:save).returns(true).once | |
AlertCollaborator.any_instance.stubs(:id).returns(1001) | |
post :create, :alert_collaborator => {} | |
end | |
should_assign_to :alert_collaborator, :class => AlertCollaborator | |
should_respond_with :redirect | |
should_redirect_to("alert_collaborator index page"){hr_alert_collaborators_path} | |
end | |
context "on POST to :create (invalid data)" do | |
setup do | |
AlertCollaborator.any_instance.expects(:save).returns(false).once | |
post :create, :alert_collaborator => {} | |
end | |
should_assign_to :alert_collaborator, :class => AlertCollaborator | |
should_respond_with :success | |
should_render_with_layout | |
should_render_template :new | |
should_not_set_the_flash | |
end | |
context "on GET to :show" do | |
setup do | |
get :show, {:id => @alert_collaborator.id} | |
end | |
should_respond_with :success | |
should_render_with_layout | |
should_render_template :show | |
should_not_set_the_flash | |
end | |
context "on GET to :edit" do | |
setup do | |
get :edit, :id => @alert_collaborator.id | |
end | |
should_respond_with :success | |
should_render_with_layout | |
should_render_template :edit | |
should_not_set_the_flash | |
end | |
context "on PUT to :update (valid data)" do | |
setup do | |
@alert_collaborator.expects(:update_attributes).returns(true).once | |
put :update, :id => @alert_collaborator.id, :alert_collaborator => {} | |
end | |
should_assign_to :alert_collaborator, :class => AlertCollaborator | |
should_respond_with :redirect | |
should_redirect_to("alert_collaborator index page"){hr_alert_collaborators_path} | |
end | |
context "on PUT to :update (invalid data)" do | |
setup do | |
@alert_collaborator.expects(:update_attributes).returns(false).once | |
put :update, :id => @alert_collaborator.id, :alert_collaborator => {} | |
end | |
should_assign_to :alert_collaborator, :class => AlertCollaborator | |
should_respond_with :success | |
should_render_template :edit | |
end | |
context "on DELETE to :destroy" do | |
setup do | |
@alert_collaborator.expects(:destroy).returns(true).once | |
delete :destroy, :id => @alert_collaborator.id | |
end | |
should_assign_to(:alert_collaborator){@alert_collaborator} | |
should_respond_with :redirect | |
should_redirect_to("alert_collaborator index page"){hr_alert_collaborators_path} | |
end | |
end | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Hr::ArrivalCollaboratorsController < ApplicationController | |
resource_controller | |
before_filter :require_user | |
before_filter :load_data | |
create.wants.html { redirect_to hr_arrival_collaborators_path } | |
update.wants.html { redirect_to hr_arrival_collaborators_path } | |
create.before { | |
@arrival_collaborator.agency = current_agency | |
@arrival_collaborator.feedback = current_time | |
} | |
def load_data | |
@arrival_collaborators_agency = ArrivalCollaborator.find(:all, :conditions => {:agency_id => current_agency.id, :feedback_id => current_time.id}) | |
end | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mickael@mickael-laptop:~/projects/pabd/test$ ruby functional/hr/alert_collaborators_controller_test.rb | |
Loaded suite functional/hr/alert_collaborators_controller_test | |
Started | |
................................. | |
Finished in 5.545446 seconds. | |
33 tests, 50 assertions, 0 failures, 0 errors |
Donc en fait, même en mettant le bloc destroy ci-dessous dans le controller Hr::ArrivalCollaborators, il arrive que resource_controller ne le fasse pas au niveau "test controller" ?
destroy.wants.html { redirect_to hr_arrival_collaborators_path }
Je vais essayer de creuser de se côté là, merci à toi et Emilien.
Voilà, je viens de trouver le pourquoi du comment, il "suffisait" de transformer :
(Ligne 90) @alert_collaborator.expects(:destroy).once
en
(Ligne 90) @alert_collaborator.expects(:destroy).returns(true).once
Dans le fichier "alert_collaborators_controller_test.rb"
Une bonne chose de faite.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ok entre temps Emilien m'a dit que cela serait configurable dans resource controller dans un bloque destroy de lui dire de ne pas router vers l'instance mais plutôt dans index
HTH ;)
le bloque va dans Hr::ArrivalCollaboratorsController bien entendu :)