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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
class Profile < Spinach::FeatureSteps
include SharedAuthentication
include SharedPaths
step 'I should see my profile info' do
page.should have_content "Profile settings"
end
step 'I change my contact info' do
fill_in "user_skype", with: "testskype"
fill_in "user_linkedin", with: "testlinkedin"
fill_in "user_twitter", with: "testtwitter"
click_button "Save changes"
@user.reload
end
step 'I should see new contact info' do
@user.skype.should == 'testskype'
@user.linkedin.should == 'testlinkedin'
@user.twitter.should == 'testtwitter'
end
step 'I change my avatar' do
attach_file(:user_avatar, File.join(Rails.root, 'public', 'gitlab_logo.png'))
click_button "Save changes"
@user.reload
end
step 'I should see new avatar' do
@user.avatar.should be_instance_of AttachmentUploader
@user.avatar.url.should == "/uploads/user/avatar/#{ @user.id }/gitlab_logo.png"
end
step 'I try change my password w/o old one' do
within '.update-password' do
fill_in "user_password", with: "222333"
fill_in "user_password_confirmation", with: "222333"
click_button "Save"
end
end
step 'I change my password' do
within '.update-password' do
fill_in "user_current_password", with: "123456"
fill_in "user_password", with: "222333"
fill_in "user_password_confirmation", with: "222333"
click_button "Save"
end
end
step 'I unsuccessfully change my password' do
within '.update-password' do
fill_in "user_current_password", with: "123456"
fill_in "user_password", with: "password"
fill_in "user_password_confirmation", with: "confirmation"
click_button "Save"
end
end
step "I should see a missing password error message" do
page.should have_content "You must provide a valid current password"
end
step "I should see a password error message" do
page.should have_content "Password doesn't match confirmation"
end
step 'I should be redirected to sign in page' do
current_path.should == new_user_session_path
end
step 'I reset my token' do
within '.update-token' do
@old_token = @user.private_token
click_button "Reset"
end
end
step 'I should see new token' do
find("#token").value.should_not == @old_token
find("#token").value.should == @user.reload.private_token
end
step 'I have activity' do
create(:closed_issue_event, author: current_user)
end
step 'I should see my activity' do
page.should have_content "#{current_user.name} closed issue"
end
step "I change my application theme" do
within '.application-theme' do
choose "Violet"
end
end
step "I change my code preview theme" do
within '.code-preview-theme' do
choose "Solarized dark"
end
end
step "I should see the theme change immediately" do
page.should have_selector('body.ui_color')
page.should_not have_selector('body.ui_basic')
end
step "I should receive feedback that the changes were saved" do
page.should have_content("saved")
end
step 'my password is expired' do
current_user.update_attributes(password_expires_at: Time.now - 1.hour)
end
step "I am not an ldap user" do
current_user.update_attributes(extern_uid: nil, provider: '')
current_user.ldap_user?.should be_false
end
step 'I redirected to expired password page' do
current_path.should == new_profile_password_path
end
step 'I submit new password' do
fill_in :user_password, with: '12345678'
fill_in :user_password_confirmation, with: '12345678'
click_button "Set new password"
end
step 'I redirected to sign in page' do
current_path.should == new_user_session_path
end
step 'I should be redirected to account page' do
current_path.should == account_profile_path
end
step 'I click on my profile picture' do
click_link 'profile-pic'
end
step 'I should see my user page' do
page.should have_content "User Activity"
within '.navbar-gitlab' do
page.should have_content current_user.name
end
end
end
|