Commit 7aeb92b8e4bb279346d9dcec7bbca1725cec8eb1

Authored by Nihad Abbasov
1 parent d74f5473

rewrite profile feature steps using spinach

features/profile/profile.feature
1 1 Feature: Profile
2   - Background:
3   - Given I signin as a user
  2 + Background:
  3 + Given I sign in as a user
4 4  
5 5 Scenario: I look at my profile
6 6 Given I visit profile page
... ...
features/profile/ssh_keys.feature
1   -Feature: SSH Keys
2   - Background:
3   - Given I signin as a user
4   - And I have ssh keys:
5   - | title |
6   - | ssh-rsa Work |
7   - | ssh-rsa Home |
  1 +Feature: Profile SSH Keys
  2 + Background:
  3 + Given I sign in as a user
  4 + And I have ssh key "ssh-rsa Work"
8 5 And I visit profile keys page
9 6  
10   - Scenario: I should see SSH keys
  7 + Scenario: I should see ssh keys
11 8 Then I should see my ssh keys
12 9  
13 10 Scenario: Add new ssh key
... ...
features/steps/profile.rb 0 → 100644
... ... @@ -0,0 +1,57 @@
  1 +class Profile < Spinach::FeatureSteps
  2 + Given 'I visit profile page' do
  3 + visit profile_path
  4 + end
  5 +
  6 + Then 'I should see my profile info' do
  7 + page.should have_content "Profile"
  8 + page.should have_content @user.name
  9 + page.should have_content @user.email
  10 + end
  11 +
  12 + Then 'I change my contact info' do
  13 + fill_in "user_skype", :with => "testskype"
  14 + fill_in "user_linkedin", :with => "testlinkedin"
  15 + fill_in "user_twitter", :with => "testtwitter"
  16 + click_button "Save"
  17 + @user.reload
  18 + end
  19 +
  20 + And 'I should see new contact info' do
  21 + @user.skype.should == 'testskype'
  22 + @user.linkedin.should == 'testlinkedin'
  23 + @user.twitter.should == 'testtwitter'
  24 + end
  25 +
  26 + Given 'I visit profile password page' do
  27 + visit profile_password_path
  28 + end
  29 +
  30 + Then 'I change my password' do
  31 + fill_in "user_password", :with => "222333"
  32 + fill_in "user_password_confirmation", :with => "222333"
  33 + click_button "Save"
  34 + end
  35 +
  36 + And 'I should be redirected to sign in page' do
  37 + current_path.should == new_user_session_path
  38 + end
  39 +
  40 + Given 'I visit profile token page' do
  41 + visit profile_token_path
  42 + end
  43 +
  44 + Then 'I reset my token' do
  45 + @old_token = @user.private_token
  46 + click_button "Reset"
  47 + end
  48 +
  49 + And 'I should see new token' do
  50 + find("#token").value.should_not == @old_token
  51 + find("#token").value.should == @user.reload.private_token
  52 + end
  53 +
  54 + Given 'I sign in as a user' do
  55 + login_as :user
  56 + end
  57 +end
... ...
features/steps/profile_ssh_keys.rb 0 → 100644
... ... @@ -0,0 +1,50 @@
  1 +class ProfileSshKeys < Spinach::FeatureSteps
  2 + Then 'I should see my ssh keys' do
  3 + @user.keys.each do |key|
  4 + page.should have_content(key.title)
  5 + end
  6 + end
  7 +
  8 + Given 'I click link "Add new"' do
  9 + click_link "Add new"
  10 + end
  11 +
  12 + And 'I submit new ssh key "Laptop"' do
  13 + fill_in "key_title", :with => "Laptop"
  14 + fill_in "key_key", :with => "ssh-rsa publickey234="
  15 + click_button "Save"
  16 + end
  17 +
  18 + Then 'I should see new ssh key "Laptop"' do
  19 + key = Key.find_by_title("Laptop")
  20 + page.should have_content(key.title)
  21 + page.should have_content(key.key)
  22 + current_path.should == key_path(key)
  23 + end
  24 +
  25 + Given 'I click link "Work"' do
  26 + click_link "Work"
  27 + end
  28 +
  29 + And 'I click link "Remove"' do
  30 + click_link "Remove"
  31 + end
  32 +
  33 + Then 'I visit profile keys page' do
  34 + visit keys_path
  35 + end
  36 +
  37 + And 'I should not see "Work" ssh key' do
  38 + within "#keys-table" do
  39 + page.should_not have_content "Work"
  40 + end
  41 + end
  42 +
  43 + Given 'I sign in as a user' do
  44 + login_as :user
  45 + end
  46 +
  47 + And 'I have ssh key "ssh-rsa Work"' do
  48 + Factory :key, :user => @user, :title => "ssh-rsa Work", :key => "jfKLJDFKSFJSHFJssh-rsa Work"
  49 + end
  50 +end
... ...