profile.rb 2.8 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
6 7 8 9 10
    page.should have_content "Profile"
    page.should have_content @user.name
    page.should have_content @user.email
  end

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

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

25
  step 'I change my password' do
26
    within '.update-password' do
27 28
      fill_in "user_password", with: "222333"
      fill_in "user_password_confirmation", with: "222333"
29 30
      click_button "Save"
    end
31 32
  end

33
  step 'I unsuccessfully change my password' do
34 35 36 37 38
    within '.update-password' do
      fill_in "user_password", with: "password"
      fill_in "user_password_confirmation", with: "confirmation"
      click_button "Save"
    end
39 40
  end

41
  step "I should see a password error message" do
42 43 44
    page.should have_content "Password doesn't match confirmation"
  end

45
  step 'I should be redirected to sign in page' do
46 47 48
    current_path.should == new_user_session_path
  end

49
  step 'I reset my token' do
50 51 52 53
    within '.update-token' do
      @old_token = @user.private_token
      click_button "Reset"
    end
54 55
  end

56
  step 'I should see new token' do
57 58 59
    find("#token").value.should_not == @old_token
    find("#token").value.should == @user.reload.private_token
  end
R
randx 已提交
60

61
  step 'I have activity' do
62
    create(:closed_issue_event, author: current_user)
R
randx 已提交
63 64
  end

65
  step 'I should see my activity' do
R
randx 已提交
66 67
    page.should have_content "#{current_user.name} closed issue"
  end
68

69
  step "I change my application theme" do
70 71 72
    within '.application-theme' do
      choose "Violet"
    end
73 74
  end

75
  step "I change my code preview theme" do
76
    within '.code-preview-theme' do
77
      choose "Solarized dark"
78
    end
79 80
  end

81
  step "I should see the theme change immediately" do
82 83 84 85
    page.should have_selector('body.ui_color')
    page.should_not have_selector('body.ui_basic')
  end

86
  step "I should receive feedback that the changes were saved" do
87 88
    page.should have_content("Saved")
  end
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

  step 'my password is expired' do
    current_user.update_attributes(password_expires_at: Time.now - 1.hour)
  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
107
end