can [:read, :create, :destroy], :oauth2_authorization
can [:update, :destroy], :account
can :update, :account_terms
+ can :create, :account_pd_declaration
can :read, :dashboard
can [:create, :subscribe, :unsubscribe], DiaryEntry
can :update, DiaryEntry, :user => user
authorize_resource :class => :account_pd_declaration
def show; end
+
+ def create
+ redirect_to edit_account_path
+ end
end
end
resource :account, :only => [:edit, :update, :destroy] do
scope :module => :accounts do
resource :terms, :only => [:show, :update]
- resource :pd_declaration, :only => :show
+ resource :pd_declaration, :only => [:show, :create]
resource :deletion, :only => :show
end
end
{ :path => "/account/pd_declaration", :method => :get },
{ :controller => "accounts/pd_declarations", :action => "show" }
)
+ assert_routing(
+ { :path => "/account/pd_declaration", :method => :post },
+ { :controller => "accounts/pd_declarations", :action => "create" }
+ )
end
def test_show_not_logged_in
assert_response :success
end
+
+ def test_create_not_logged_in
+ post account_pd_declaration_path
+
+ assert_response :forbidden
+ end
+
+ def test_create
+ user = create(:user)
+ session_for(user)
+
+ post account_pd_declaration_path
+
+ assert_redirected_to edit_account_path
+ end
end
end