profile.rb 4.1 KB
Newer Older
1
class Profile < Spinach::FeatureSteps
N
Nihad Abbasov 已提交
2 3
  include SharedAuthentication
  include SharedPaths
4

5
  step 'I should see my profile info' do
D
Dmitriy Zaporozhets 已提交
6
    page.should have_content "Profile settings"
7 8
  end

9
  step 'I change my contact info' do
10 11 12
    fill_in "user_skype", with: "testskype"
    fill_in "user_linkedin", with: "testlinkedin"
    fill_in "user_twitter", with: "testtwitter"
13
    click_button "Save changes"
14 15 16
    @user.reload
  end

17
  step 'I should see new contact info' do
18 19 20 21 22
    @user.skype.should == 'testskype'
    @user.linkedin.should == 'testlinkedin'
    @user.twitter.should == 'testtwitter'
  end

S
Steven Thonus 已提交
23 24 25 26 27 28 29 30 31 32 33
  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

34 35
  step 'I try change my password w/o old one' do
    within '.update-password' do
36 37
      fill_in "user_password", with: "22233344"
      fill_in "user_password_confirmation", with: "22233344"
38 39 40 41
      click_button "Save"
    end
  end

42
  step 'I change my password' do
43
    within '.update-password' do
44 45 46
      fill_in "user_current_password", with: "12345678"
      fill_in "user_password", with: "22233344"
      fill_in "user_password_confirmation", with: "22233344"
47 48
      click_button "Save"
    end
49 50
  end

51
  step 'I unsuccessfully change my password' do
52
    within '.update-password' do
53
      fill_in "user_current_password", with: "12345678"
54 55 56 57
      fill_in "user_password", with: "password"
      fill_in "user_password_confirmation", with: "confirmation"
      click_button "Save"
    end
58 59
  end

60 61 62 63
  step "I should see a missing password error message" do
    page.should have_content "You must provide a valid current password"
  end

64
  step "I should see a password error message" do
65 66 67
    page.should have_content "Password doesn't match confirmation"
  end

68
  step 'I should be redirected to sign in page' do
69 70 71
    current_path.should == new_user_session_path
  end

72
  step 'I reset my token' do
73 74 75 76
    within '.update-token' do
      @old_token = @user.private_token
      click_button "Reset"
    end
77 78
  end

79
  step 'I should see new token' do
80 81 82
    find("#token").value.should_not == @old_token
    find("#token").value.should == @user.reload.private_token
  end
R
randx 已提交
83

84
  step 'I have activity' do
85
    create(:closed_issue_event, author: current_user)
R
randx 已提交
86 87
  end

88
  step 'I should see my activity' do
R
randx 已提交
89 90
    page.should have_content "#{current_user.name} closed issue"
  end
91

92
  step "I change my application theme" do
93 94 95
    within '.application-theme' do
      choose "Violet"
    end
96 97
  end

98
  step "I change my code preview theme" do
99
    within '.code-preview-theme' do
100
      choose "Solarized dark"
101
    end
102 103
  end

104
  step "I should see the theme change immediately" do
105 106 107 108
    page.should have_selector('body.ui_color')
    page.should_not have_selector('body.ui_basic')
  end

109
  step "I should receive feedback that the changes were saved" do
D
Dmitriy Zaporozhets 已提交
110
    page.should have_content("saved")
111
  end
112 113 114 115 116

  step 'my password is expired' do
    current_user.update_attributes(password_expires_at: Time.now - 1.hour)
  end

117 118 119 120 121
  step "I am not an ldap user" do
    current_user.update_attributes(extern_uid: nil,  provider: '')
    current_user.ldap_user?.should be_false
  end

122 123 124 125 126 127 128 129 130 131 132 133 134
  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
135

D
Dmitriy Zaporozhets 已提交
136 137 138 139
  step 'I should be redirected to password page' do
    current_path.should == edit_profile_password_path
  end

140
  step 'I should be redirected to account page' do
D
Dmitriy Zaporozhets 已提交
141
    current_path.should == profile_account_path
142 143
  end

144 145 146 147 148 149 150 151 152 153 154
  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
155
end