OSDN Git Service

- dir_nameがactionを上書きしてしまう問題を修正
authortmatsuzawa <tmatsuzawa@06daa6dd-5c14-464e-8a85-0d68c524be32>
Fri, 19 Mar 2010 08:29:31 +0000 (08:29 +0000)
committertmatsuzawa <tmatsuzawa@06daa6dd-5c14-464e-8a85-0d68c524be32>
Fri, 19 Mar 2010 08:29:31 +0000 (08:29 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/elecoma/trunk@67 06daa6dd-5c14-464e-8a85-0d68c524be32

app/controllers/accounts_controller.rb
spec/controllers/accounts_controller_spec.rb

index 592f70d..ac43970 100644 (file)
@@ -71,7 +71,7 @@ class AccountsController < BaseController
           # login_check で飛ばされた場合
           redirect_to :controller=>session[:return_to]["controller"],
                       :action=>session[:return_to]["action"],
-                      :action=>session[:return_to]["dir_name"],
+                      :dir_name=>session[:return_to]["dir_name"],
                       :id=>session[:return_to][:id]
           session[:return_to] = nil
         else
index 767d86a..b61c2b2 100644 (file)
@@ -2,7 +2,7 @@
 require File.dirname(__FILE__) + '/../spec_helper'
 
 describe AccountsController do
-  fixtures :customers, :kiyakus, :carts, :product_styles, :products, :delivery_addresses
+  fixtures :customers, :kiyakus, :carts, :product_styles, :products, :delivery_addresses, :campaigns
 
   before do
     @controller.class.skip_before_filter :start_transaction
@@ -889,7 +889,19 @@ describe AccountsController do
     customer = { "email"=>"hoge6@hoge.com", "password"=>"hogehoge" }
     session[:return_to] = {"controller"=>'accounts', "action"=>'edit'}
     post 'login', :customer => customer
-    response.should redirect_to(:controller => 'accounts')
+    response.should redirect_to(:controller => 'accounts', :action => 'edit')
+    session_customer = Customer.find(session[:customer_id])
+    session_customer.email.should == 'hoge6@hoge.com'
+    session_customer.correct_password?('hogehoge').should be_true
+    session[:return_to].should be_nil
+  end
+
+  it "パスワードが合っている場合(dir_nameが正しい時)" do
+    campaign = campaigns(:open_campaign)
+    customer = { "email"=>"hoge6@hoge.com", "password"=>"hogehoge" }
+    session[:return_to] = {"controller"=>'campaigns', "action"=>'show', "dir_name" => campaign.dir_name}
+    post 'login', :customer => customer
+    response.should redirect_to("campaigns/" + campaign.dir_name)
     session_customer = Customer.find(session[:customer_id])
     session_customer.email.should == 'hoge6@hoge.com'
     session_customer.correct_password?('hogehoge').should be_true