1 # -*- coding: utf-8 -*-
2 require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
5 fixtures :admin_users, :authorities, :retailers
7 @admin_user = admin_users(:login_admin_user)
10 describe "validateチェック" do
12 @admin_user.password = "hoge"
17 @admin_user.login_id = "hoge"
18 @admin_user.should be_valid
19 @admin_user.login_id = nil
20 @admin_user.should_not be_valid
24 @admin_user.login_id = "a" * 15
25 @admin_user.should be_valid
26 @admin_user.login_id = "a" * 16
27 @admin_user.should_not be_valid
30 AdminUser.new({:login_id=>"new", :password=>@admin_user.password,:authority_id => authorities(:auth01).id }).should_not be_valid
33 @admin_user.login_id = "abc102"
34 @admin_user.should be_valid
35 @admin_user.login_id = "abc//102"
36 @admin_user.should_not be_valid
37 @admin_user.login_id = "ABC1ー"
38 @admin_user.should_not be_valid
43 @admin_user.password = "a" * 15
44 @admin_user.should be_valid
45 @admin_user.password = "a" * 16
46 @admin_user.should_not be_valid
49 @admin_user.password = "abc102"
50 @admin_user.should be_valid
51 @admin_user.password = "abc//102"
52 @admin_user.should_not be_valid
53 @admin_user.password = "ABC1ー"
54 @admin_user.should_not be_valid
58 describe "パスワードの暗号化" do
59 it "パスワードが暗号化できている" do
60 AdminUser.encode_password("hoge").should_not == "hoge"
63 it "入力されたパスワードを暗号化(新規作成の場合)" do
64 admin_user = AdminUser.new({:name=>"zak", :login_id=>"gundam", :password=>"zak", :authority_id => authorities(:auth01).id, :retailer_id => 1 })
66 AdminUser.find(:first, :conditions=>["login_id=?","gundam"]).password.should == AdminUser.encode_password("zak")
69 it "入力されたパスワードを暗号化(変更なし)" do
70 password = @admin_user.password
71 @admin_user.password = ""
72 @admin_user.save.should == true
73 AdminUser.find(@admin_user.id).password.should == password
76 it "入力されたパスワードを暗号化(変更あり)" do
77 password = @admin_user.password
78 @admin_user.password = "hyakushiki"
79 @admin_user.save.should == true
80 AdminUser.find(@admin_user.id).password.should == AdminUser.encode_password("hyakushiki")
84 describe "ログインしたい管理者の特定" do
86 AdminUser.find_by_login_id_and_password(@admin_user.login_id, "hoge").should == @admin_user
91 AdminUser.find_by_login_id_and_password("gundam", @admin_user.password).should be_nil
94 AdminUser.find_by_login_id_and_password(@admin_user.login_id, "gundam").should be_nil
97 activity_false = admin_users(:load_by_admin_user_activity_false)
98 AdminUser.find_by_login_id_and_password(activity_false.login_id, activity_false.password).should be_nil
102 describe "販売元IDを追加" do
103 it "販売元IDがないとvalidateに失敗する" do
104 @admin_user.retailer_id = nil
105 @admin_user.should_not be_valid
108 it "マスターショップかどうか判定" do
109 @admin_user.should be_master_shop
110 not_master_retailer = admin_users(:admin17_retailer_id_is_fails)
111 not_master_retailer.should_not be_master_shop