|
7 | 7 | end |
8 | 8 |
|
9 | 9 | describe "reset password page" do |
10 | | - let!(:user) { create(:user, email: "glados@aperture.labs", phone_number: "+16578900012") } |
11 | | - |
12 | 10 | it "displays error messages for non-existent user" do |
13 | | - fill_in "Email", with: "tangerine@forward.com" |
| 11 | + user = build(:user, email: "glados@example.com", phone_number: "+16578900012") |
| 12 | + |
| 13 | + fill_in "Email", with: "tangerine@example.com" |
14 | 14 | fill_in "Phone number", with: user.phone_number |
15 | 15 |
|
16 | 16 | click_on "Send me reset password instructions" |
17 | 17 | expect(page).to have_content "If the account exists you will receive an email or SMS with instructions on how to reset your password in a few minutes." |
18 | 18 | end |
19 | 19 |
|
20 | 20 | it "displays phone number error messages for incorrect formatting" do |
| 21 | + user = create(:user, email: "glados@example.com", phone_number: "+16578900012") |
| 22 | + |
21 | 23 | fill_in "Email", with: user.email |
22 | 24 | fill_in "Phone number", with: "2134567eee" |
23 | 25 |
|
|
26 | 28 | expect(page).to have_text("Phone number must be 10 digits or 12 digits including country code (+1)") |
27 | 29 | end |
28 | 30 |
|
29 | | - it "displays error if user tries to submit empty form" do |
| 31 | + it "displays error if user tries to submit an empty form" do |
| 32 | + user = build(:user, email: "glados@example.com", phone_number: "+16578900012") |
| 33 | + |
30 | 34 | click_on "Send me reset password instructions" |
31 | 35 | expect(page).to have_text("Please enter at least one field.") |
32 | 36 | end |
33 | 37 |
|
34 | 38 | it "redirects to sign up page for email" do |
| 39 | + user = build(:user, email: "glados@example.com", phone_number: "+16578900012") |
| 40 | + |
35 | 41 | fill_in "Email", with: user.email |
36 | 42 |
|
37 | 43 | click_on "Send me reset password instructions" |
|
69 | 75 |
|
70 | 76 | token = reset_password_link(user.email).gsub("http://localhost:3000/users/password/edit?reset_password_token=", "") |
71 | 77 | encrypted_token = Devise.token_generator.digest(User, :reset_password_token, token) |
72 | | - expect(User.find_by(reset_password_token: encrypted_token)).not_to be_nil |
| 78 | + expect(User.find_by(reset_password_token: encrypted_token)).to be_present |
73 | 79 | end |
74 | 80 |
|
75 | 81 | it "user can update password" do |
|
0 commit comments