-
Notifications
You must be signed in to change notification settings - Fork 15
/
authentication_spec.rb
65 lines (56 loc) · 1.68 KB
/
authentication_spec.rb
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
require 'spec_helper'
feature "AUTHENTICATION", :js => true do
let(:user_name) { "Tester"}
let(:email) {"test1@test.com"}
let(:pw) {"tester"}
let(:register_fields) { {name: user_name, email: email, password: pw, password_confirmation: pw} }
let(:fail_msg) { "That email/password combo didn't work" }
before(:all) do
User.destroy_all
end
scenario 'register,logout,login with valid email and password' do
User.destroy_all
visit "/#/registration"
submit_form register_fields, "Register"
page.should have_content "Hi #{user_name}"
page.should have_content "Logout"
click_button "Logout"
page.should have_content "Login"
visit "/#/login"
login email, pw
page.should have_content "Hi #{user_name}"
end
scenario 'login with valid credentials' do
#User.create! register_fields
User.first.email.should == email
visit "/#/login"
login email, pw
page.should have_content "Hi #{user_name}"
end
scenario 'register with invalid email and password' do
visit "/#/registration"
register_fields[:email] = "xxeeegmail.com"
submit_form register_fields, "Register"
page.should have_content fail_msg
end
scenario 'login with invalid email or password' do
visit "/#/login"
login "guma@bearz.com", pw
page.should have_content fail_msg
login email, "happyburz"
page.should have_content fail_msg
end
after(:all) do
User.destroy_all
end
def login(email, pw)
submit_form({email: email, password: pw}, "Login")
end
def submit_form(fields, button)
fields.each_pair do |field, val|
fill_in field, with: val
end
#screenshot_and_save_page
click_button button
end
end