blob: 11e906b6bd597c93b9be2eb6220e7c83905440f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
require File.dirname(__FILE__) + '/../spec_helper'
describe User, " when authenticating" do
before do
@empty_user = User.new
@full_user = User.new
@full_user.name = "Sensible User"
@full_user.password = "foolishpassword"
@full_user.email = "sensible@localhost"
@full_user.save
end
it "should create a hashed password when the password is set" do
@empty_user.hashed_password.should be_nil
@empty_user.password = "a test password"
@empty_user.hashed_password.should_not be_nil
end
it "should have errors when given the wrong password" do
found_user = User.authenticate_from_form({ :email => "sensible@localhost", :password => "iownzyou" })
found_user.errors.size.should > 0
end
it "should not find the user when given the wrong email" do
found_user = User.authenticate_from_form( { :email => "soccer@localhost", :password => "foolishpassword" })
found_user.errors.size.should > 0
end
it "should find the user when given the right email and password" do
found_user = User.authenticate_from_form( { :email => "sensible@localhost", :password => "foolishpassword" })
found_user.errors.size.should == 0
found_user.should == (@full_user)
end
end
describe User, " when saving" do
before do
@user = User.new
end
it "should not save without setting some parameters" do
lambda { @user.save! }.should raise_error(ActiveRecord::RecordInvalid)
end
it "should not save with misformatted email" do
@user.name = "Mr. Silly"
@user.password = "insecurepassword"
@user.email = "mousefooble"
lambda { @user.save! }.should raise_error(ActiveRecord::RecordInvalid)
end
it "should not save with no password" do
@user.name = "Mr. Silly"
@user.password = ""
@user.email = "silly@localhost"
lambda { @user.save! }.should raise_error(ActiveRecord::RecordInvalid)
end
it "should save with reasonable name, password and email" do
@user.name = "Mr. Reasonable"
@user.password = "insecurepassword"
@user.email = "reasonable@localhost"
@user.save!
end
end
|