Merge branch 'replace_spinach_user_lookup.feature' into 'master'
Replace 'project/user_lookup.feature' spinach test with an rspec analog See merge request !13863
This commit is contained in:
commit
f7c8434c71
5 changed files with 49 additions and 65 deletions
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Replace 'project/user_lookup.feature' spinach test with an rspec analog
|
||||||
|
merge_request: 13863
|
||||||
|
author: Vitaliy @blackst0ne Klachkov
|
||||||
|
type: other
|
|
@ -1,16 +0,0 @@
|
||||||
@project_commits
|
|
||||||
Feature: Project Commits User Lookup
|
|
||||||
Background:
|
|
||||||
Given I sign in as a user
|
|
||||||
And I own a project
|
|
||||||
And I visit my project's commits page
|
|
||||||
|
|
||||||
Scenario: I browse commit from list
|
|
||||||
Given I have user with primary email
|
|
||||||
When I click on commit link
|
|
||||||
Then I see author based on primary email
|
|
||||||
|
|
||||||
Scenario: I browse another commit from list
|
|
||||||
Given I have user with secondary email
|
|
||||||
When I click on another commit link
|
|
||||||
Then I see author based on secondary email
|
|
|
@ -1,49 +0,0 @@
|
||||||
class Spinach::Features::ProjectCommitsUserLookup < Spinach::FeatureSteps
|
|
||||||
include SharedAuthentication
|
|
||||||
include SharedProject
|
|
||||||
include SharedPaths
|
|
||||||
|
|
||||||
step 'I click on commit link' do
|
|
||||||
visit project_commit_path(@project, sample_commit.id)
|
|
||||||
end
|
|
||||||
|
|
||||||
step 'I click on another commit link' do
|
|
||||||
visit project_commit_path(@project, sample_commit.parent_id)
|
|
||||||
end
|
|
||||||
|
|
||||||
step 'I have user with primary email' do
|
|
||||||
user_primary
|
|
||||||
end
|
|
||||||
|
|
||||||
step 'I have user with secondary email' do
|
|
||||||
user_secondary
|
|
||||||
end
|
|
||||||
|
|
||||||
step 'I see author based on primary email' do
|
|
||||||
check_author_link(sample_commit.author_email, user_primary)
|
|
||||||
end
|
|
||||||
|
|
||||||
step 'I see author based on secondary email' do
|
|
||||||
check_author_link(sample_commit.author_email, user_secondary)
|
|
||||||
end
|
|
||||||
|
|
||||||
def check_author_link(email, user)
|
|
||||||
author_link = find('.commit-author-link')
|
|
||||||
|
|
||||||
expect(author_link['href']).to eq user_path(user)
|
|
||||||
expect(author_link['title']).to eq email
|
|
||||||
expect(find('.commit-author-name').text).to eq user.name
|
|
||||||
end
|
|
||||||
|
|
||||||
def user_primary
|
|
||||||
@user_primary ||= create(:user, email: 'dmitriy.zaporozhets@gmail.com')
|
|
||||||
end
|
|
||||||
|
|
||||||
def user_secondary
|
|
||||||
@user_secondary ||= begin
|
|
||||||
user = create(:user, email: 'dzaporozhets@example.com')
|
|
||||||
create(:email, { user: user, email: 'dmitriy.zaporozhets@gmail.com' })
|
|
||||||
user
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
44
spec/features/projects/commits/user_browses_commits_spec.rb
Normal file
44
spec/features/projects/commits/user_browses_commits_spec.rb
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'User broweses commits' do
|
||||||
|
let(:user) { create(:user) }
|
||||||
|
let(:project) { create(:project, :repository, namespace: user.namespace) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
project.add_master(user)
|
||||||
|
sign_in(user)
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'primary email' do
|
||||||
|
it 'finds a commit by a primary email' do
|
||||||
|
user = create(:user, email: 'dmitriy.zaporozhets@gmail.com')
|
||||||
|
|
||||||
|
visit(project_commit_path(project, RepoHelpers.sample_commit.id))
|
||||||
|
|
||||||
|
check_author_link(RepoHelpers.sample_commit.author_email, user)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'secondary email' do
|
||||||
|
it 'finds a commit by a secondary email' do
|
||||||
|
user =
|
||||||
|
create(:user) do |user|
|
||||||
|
create(:email, { user: user, email: 'dmitriy.zaporozhets@gmail.com' })
|
||||||
|
end
|
||||||
|
|
||||||
|
visit(project_commit_path(project, RepoHelpers.sample_commit.parent_id))
|
||||||
|
|
||||||
|
check_author_link(RepoHelpers.sample_commit.author_email, user)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def check_author_link(email, author)
|
||||||
|
author_link = find('.commit-author-link')
|
||||||
|
|
||||||
|
expect(author_link['href']).to eq(user_path(author))
|
||||||
|
expect(author_link['title']).to eq(email)
|
||||||
|
expect(find('.commit-author-name').text).to eq(author.name)
|
||||||
|
end
|
Loading…
Reference in a new issue