Открыть боковую панель
nt_test121
nt_project_9da4a5yt9x4b
Коммиты
78d847c3
Коммит
78d847c3
создал
Янв 13, 2016
по автору
Rémy Coutable
Просмотр файлов
Move some specs from MRs to Issues specs
владелец
75d41a36
Изменения
3
Скрыть пробелы
Построчно
Рядом
features/project/merge_requests
/notes
.feature
→
features/project/
issues/referenced_
merge_requests.feature
Просмотр файла @
78d847c3
@project_
merge_req
ues
ts
Feature
:
Project Merge Requests
Notes
@project_
iss
ues
Feature
:
Project
Issues Referenced
Merge Requests
Background
:
Given
I sign in as
"
Mary Jan
e"
And
I
own public project
"
Public Shop
"
And
project
"
Public Shop
"
has
"Public Issue 01"
open issue
Given
I sign in as
"
John Do
e"
And
"John Doe"
own
s
public project
"
Community
"
And
project
"
Community
"
has
"Public Issue 01"
open issue
And
I logout
And
I sign in as
"
John Do
e"
And
I
own private project
"Private Library"
And
project
"Private Library"
has
"
Private MR
01"
open merge request
And
I visit merge request page
"
Private MR
01"
And
I leave a comment
with link to
issue
"Public Issue 01"
And
I sign in as
"
Mary Jan
e"
And
"Mary Jane"
own
s
private project
"Private Library"
And
project
"Private Library"
has
"
Fix NS-
01"
open merge request
And
I visit merge request page
"
Fix NS-
01"
And
I leave a comment
referencing
issue
"Public Issue 01"
from project
"Private Library"
And
I logout
@javascript
Scenario
:
Viewing the public issue as a
lambda user
Given
I sign in as
"
Mary Jan
e"
Scenario
:
Viewing the public issue as a
"John Doe"
Given
I sign in as
"
John Do
e"
When
I visit issue page
"Public Issue 01"
Then
I should not see any related merge requests
@javascript
Scenario
:
Viewing the public issue as "
John Do
e"
Given
I sign in as
"
John Do
e"
Scenario
:
Viewing the public issue as "
Mary Jan
e"
Given
I sign in as
"
Mary Jan
e"
When
I visit issue page
"Public Issue 01"
Then
I should see the
"
Private MR
01"
related merge request
Then
I should see the
"
Fix NS-
01"
related merge request
features/steps/project/merge_requests
/notes
.rb
→
features/steps/project/
issues/referenced_
merge_requests.rb
Просмотр файла @
78d847c3
class
Spinach::Features::ProjectMergeRequests
Notes
<
Spinach
::
FeatureSteps
class
Spinach::Features::Project
IssuesReferenced
MergeRequests
<
Spinach
::
FeatureSteps
include
SharedAuthentication
include
SharedIssuable
include
SharedProject
include
SharedUser
step
'I own public project "Public Shop"'
do
project
=
create
:project
,
:public
,
name:
'Public Shop'
,
namespace:
current_user
.
namespace
project
.
team
<<
[
current_user
,
:master
]
end
step
'project "Public Shop" has "Public Issue 01" open issue'
do
project
=
Project
.
find_by
(
name:
'Public Shop'
)
step
'project "Community" has "Public Issue 01" open issue'
do
project
=
Project
.
find_by
(
name:
'Community'
)
create
(
:issue
,
title:
'Public Issue 01'
,
project:
project
,
author:
current_user
,
author:
project
.
users
.
first
,
description:
'# Description header'
)
end
step
'I own private project "Private Library"'
do
project
=
create
:project
,
name:
'Private Library'
,
namespace:
current_user
.
namespace
project
.
team
<<
[
current_user
,
:master
]
end
step
'project "Private Library" has "Private MR 01" open merge request'
do
project
=
Project
.
find_by!
(
name:
'Private Library'
)
step
'project "Private Library" has "Fix NS-01" open merge request'
do
project
=
Project
.
find_by
(
name:
'Private Library'
)
create
(
:merge_request
,
title:
'
Private MR
01'
,
title:
'
Fix NS-
01'
,
source_project:
project
,
target_project:
project
,
source_branch:
'fix'
,
target_branch:
'master'
,
author:
current_user
,
author:
project
.
users
.
first
,
description:
'# Description header'
)
end
step
'I visit merge request page "Private MR 01"'
do
mr
=
MergeRequest
.
find_by
(
title:
"Private MR 01"
)
visit
namespace_project_merge_request_path
(
mr
.
target_project
.
namespace
,
mr
.
target_project
,
mr
)
end
step
'I leave a comment with link to issue "Public Issue 01"'
do
step
'I leave a comment referencing issue "Public Issue 01" from project "Private Library"'
do
project
=
Project
.
find_by
(
name:
'Private Library'
)
issue
=
Issue
.
find_by!
(
title:
'Public Issue 01'
)
page
.
within
(
".js-main-target-form"
)
do
fill_in
"note[note]"
,
with:
namespace_project_issue_url
(
issue
.
project
.
namespace
,
issue
.
project
,
issue
)
fill_in
"note[note]"
,
with:
"#
#{
issue
.
to_reference
(
project
)
}
"
click_button
"Add Comment"
end
end
step
'I visit merge request page "Fix NS-01"'
do
mr
=
MergeRequest
.
find_by
(
title:
"Fix NS-01"
)
visit
namespace_project_merge_request_path
(
mr
.
target_project
.
namespace
,
mr
.
target_project
,
mr
)
end
step
'I visit issue page "Public Issue 01"'
do
issue
=
Issue
.
find_by
(
title:
"Public Issue 01"
)
visit
namespace_project_issue_path
(
issue
.
project
.
namespace
,
issue
.
project
,
issue
)
...
...
@@ -62,10 +53,11 @@ class Spinach::Features::ProjectMergeRequestsNotes < Spinach::FeatureSteps
end
end
step
'I should see the "
Private MR
01" related merge request'
do
step
'I should see the "
Fix NS-
01" related merge request'
do
page
.
within
'.merge-requests'
do
expect
(
page
).
to
have_content
(
"1 Related Merge Request"
)
expect
(
page
).
to
have_content
(
"
Private MR
01"
)
expect
(
page
).
to
have_content
(
"
Fix NS-
01"
)
end
end
end
features/steps/shared/project.rb
Просмотр файла @
78d847c3
...
...
@@ -181,6 +181,13 @@ def current_project
project
.
team
<<
[
user
,
:master
]
end
step
'"Mary Jane" owns private project "Private Library"'
do
user
=
user_exists
(
'Mary Jane'
,
username:
'mary_jane'
)
project
=
Project
.
find_by
(
name:
'Private Library'
)
project
||=
create
(
:project
,
name:
'Private Library'
,
namespace:
user
.
namespace
)
project
.
team
<<
[
user
,
:master
]
end
step
'public empty project "Empty Public Project"'
do
create
:project_empty_repo
,
:public
,
name:
"Empty Public Project"
end
...
...
Редактирование
Предварительный просмотр
Поддерживает Markdown
0%
Попробовать снова
или
прикрепить новый файл
.
Отмена
You are about to add
0
people
to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Отмена
Пожалуйста,
зарегистрируйтесь
или
войдите
чтобы прокомментировать