# 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
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
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