Reputation: 392
I have following action method of controller:
def update
@membership.update(membership_params)
if(@membership.admin)
ProjectAssignments::RemoveProjectAssignmentsByUser.call!(user_id: membership.user_id, project_id: membership.project_id)
end
respond_with(@membership)
end
I need test ProjectAssignments::RemoveProjectAssignmentsByUser.call! was called inside Update action.
I has written the test, but get error
it "should call interactor" do
expect {
put :update, params: update_params, as: :json
}.to receive { :call! }.with(hash_including({user_id: membership.user_id, project_id: membership.project_id})
end
Error - ArgumentError: wrong number of arguments (given 0, expected 1)
Upvotes: 0
Views: 685
Reputation: 1828
it "should call interactor" do
expect(ProjectAssignments::RemoveProjectAssignmentsByUser).to receive(:call!).with(
user_id: membership.user_id, project_id: membership.project_id
)
# call the update method here
end
Upvotes: 2