require File.dirname(__FILE__) + '/../spec_helper' require File.dirname(__FILE__) + '/oauth_controller_spec_helper' require 'oauth/client/action_controller_request' describe OauthClientsController, "index" do include OAuthControllerSpecHelper before(:each) do login_as_application_owner end def do_get get :index end it "should be successful" do do_get response.should be_success end it "should query current_users client applications" do @user.should_receive(:client_applications).and_return(@client_applications) do_get end it "should assign client_applications" do do_get assigns[:client_applications].should equal(@client_applications) end it "should render index template" do do_get response.should render_template('index') end end describe OauthClientsController, "show" do include OAuthControllerSpecHelper before(:each) do login_as_application_owner end def do_get get :show, :id => '3' end it "should be successful" do do_get response.should be_success end it "should query current_users client applications" do @user.should_receive(:client_applications).and_return(@client_applications) @client_applications.should_receive(:find).with('3').and_return(@client_application) do_get end it "should assign client_applications" do do_get assigns[:client_application].should equal(@client_application) end it "should render show template" do do_get response.should render_template('show') end end describe OauthClientsController, "new" do include OAuthControllerSpecHelper before(:each) do login_as_application_owner ClientApplication.stub!(:new).and_return(@client_application) end def do_get get :new end it "should be successful" do do_get response.should be_success end it "should assign client_applications" do do_get assigns[:client_application].should equal(@client_application) end it "should render show template" do do_get response.should render_template('new') end end describe OauthClientsController, "edit" do include OAuthControllerSpecHelper before(:each) do login_as_application_owner end def do_get get :edit, :id => '3' end it "should be successful" do do_get response.should be_success end it "should query current_users client applications" do @user.should_receive(:client_applications).and_return(@client_applications) @client_applications.should_receive(:find).with('3').and_return(@client_application) do_get end it "should assign client_applications" do do_get assigns[:client_application].should equal(@client_application) end it "should render edit template" do do_get response.should render_template('edit') end end describe OauthClientsController, "create" do include OAuthControllerSpecHelper before(:each) do login_as_application_owner @client_applications.stub!(:build).and_return(@client_application) @client_application.stub!(:save).and_return(true) end def do_valid_post @client_application.should_receive(:save).and_return(true) post :create, 'client_application'=>{'name' => 'my site'} end def do_invalid_post @client_application.should_receive(:save).and_return(false) post :create, :client_application=>{:name => 'my site'} end it "should query current_users client applications" do @client_applications.should_receive(:build).and_return(@client_application) do_valid_post end it "should redirect to new client_application" do do_valid_post response.should be_redirect response.should redirect_to(:action => "show", :id => @client_application.id) end it "should assign client_applications" do do_invalid_post assigns[:client_application].should equal(@client_application) end it "should render show template" do do_invalid_post response.should render_template('new') end end describe OauthClientsController, "destroy" do include OAuthControllerSpecHelper before(:each) do login_as_application_owner @client_application.stub!(:destroy) end def do_delete delete :destroy, :id => '3' end it "should query current_users client applications" do @user.should_receive(:client_applications).and_return(@client_applications) @client_applications.should_receive(:find).with('3').and_return(@client_application) do_delete end it "should destroy client applications" do @client_application.should_receive(:destroy) do_delete end it "should redirect to list" do do_delete response.should be_redirect response.should redirect_to(:action => 'index') end end describe OauthClientsController, "update" do include OAuthControllerSpecHelper before(:each) do login_as_application_owner end def do_valid_update @client_application.should_receive(:update_attributes).and_return(true) put :update, :id => '1', 'client_application'=>{'name' => 'my site'} end def do_invalid_update @client_application.should_receive(:update_attributes).and_return(false) put :update, :id => '1', 'client_application'=>{'name' => 'my site'} end it "should query current_users client applications" do @user.should_receive(:client_applications).and_return(@client_applications) @client_applications.should_receive(:find).with('1').and_return(@client_application) do_valid_update end it "should redirect to new client_application" do do_valid_update response.should be_redirect response.should redirect_to(:action => "show", :id => @client_application.id) end it "should assign client_applications" do do_invalid_update assigns[:client_application].should equal(@client_application) end it "should render show template" do do_invalid_update response.should render_template('edit') end end