Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
7d7c02fe
Commit
7d7c02fe
authored
Jun 29, 2017
by
Shinya Maeda
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix feature tests
parent
888ce892
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
59 additions
and
59 deletions
+59
-59
spec/features/projects/pipeline_schedules_spec.rb
spec/features/projects/pipeline_schedules_spec.rb
+59
-59
No files found.
spec/features/projects/pipeline_schedules_spec.rb
View file @
7d7c02fe
require
'spec_helper'
require
'spec_helper'
feature
'Pipeline Schedules'
,
:feature
do
feature
'Pipeline Schedules'
,
:feature
,
js:
true
do
include
PipelineSchedulesHelper
include
PipelineSchedulesHelper
let!
(
:project
)
{
create
(
:project
)
}
let!
(
:project
)
{
create
(
:project
)
}
...
@@ -11,13 +11,13 @@ feature 'Pipeline Schedules', :feature do
...
@@ -11,13 +11,13 @@ feature 'Pipeline Schedules', :feature do
before
do
before
do
project
.
add_master
(
user
)
project
.
add_master
(
user
)
gitlab_sign_in
(
user
)
gitlab_sign_in
(
user
)
visit_page
end
end
describe
'GET /projects/pipeline_schedules'
do
describe
'GET /projects/pipeline_schedules'
do
let
(
:visit_page
)
{
visit_pipelines_schedules
}
before
do
visit_pipelines_schedules
end
it
'avoids N + 1 queries'
do
it
'avoids N + 1 queries'
do
control_count
=
ActiveRecord
::
QueryRecorder
.
new
{
visit_pipelines_schedules
}.
count
control_count
=
ActiveRecord
::
QueryRecorder
.
new
{
visit_pipelines_schedules
}.
count
...
@@ -78,8 +78,10 @@ feature 'Pipeline Schedules', :feature do
...
@@ -78,8 +78,10 @@ feature 'Pipeline Schedules', :feature do
end
end
end
end
describe
'POST /projects/pipeline_schedules/new'
,
js:
true
do
describe
'POST /projects/pipeline_schedules/new'
do
let
(
:visit_page
)
{
visit_new_pipeline_schedule
}
before
do
visit_new_pipeline_schedule
end
it
'sets defaults for timezone and target branch'
do
it
'sets defaults for timezone and target branch'
do
expect
(
page
).
to
have_button
(
'master'
)
expect
(
page
).
to
have_button
(
'master'
)
...
@@ -98,19 +100,10 @@ feature 'Pipeline Schedules', :feature do
...
@@ -98,19 +100,10 @@ feature 'Pipeline Schedules', :feature do
expect
(
page
).
to
have_content
(
'This field is required'
)
expect
(
page
).
to
have_content
(
'This field is required'
)
end
end
it
'sets a variable'
do
fill_in_schedule_form
fill_in_variable
save_pipeline_schedule
expect
(
Ci
::
PipelineSchedule
.
last
.
job_variables
).
to
eq
([{
key:
'foo'
,
value:
'bar'
,
public:
false
}])
end
end
end
describe
'PATCH /projects/pipelines_schedules/:id/edit'
,
js:
true
do
describe
'PATCH /projects/pipelines_schedules/:id/edit'
do
let
(
:visit_page
)
do
before
do
edit_pipeline_schedule
edit_pipeline_schedule
end
end
...
@@ -129,14 +122,6 @@ feature 'Pipeline Schedules', :feature do
...
@@ -129,14 +122,6 @@ feature 'Pipeline Schedules', :feature do
expect
(
page
).
to
have_content
(
'my brand new description'
)
expect
(
page
).
to
have_content
(
'my brand new description'
)
end
end
it
'adds a new variable'
do
fill_in_variable
save_pipeline_schedule
expect
(
Ci
::
PipelineSchedule
.
last
.
job_variables
).
to
eq
([{
key:
'foo'
,
value:
'bar'
,
public:
false
}])
end
context
'when ref is nil'
do
context
'when ref is nil'
do
before
do
before
do
pipeline_schedule
.
update_attribute
(
:ref
,
nil
)
pipeline_schedule
.
update_attribute
(
:ref
,
nil
)
...
@@ -149,39 +134,63 @@ feature 'Pipeline Schedules', :feature do
...
@@ -149,39 +134,63 @@ feature 'Pipeline Schedules', :feature do
end
end
end
end
end
end
end
context
'when variables already exist'
do
context
'when user creates a new pipeline schedule with variables'
do
before
do
background
do
create
(
:ci_pipeline_schedule_variable
,
key:
'some_key'
,
value:
'some_value'
,
pipeline_schedule:
pipeline_schedule
)
visit_pipelines_schedules
edit_pipeline_schedule
click_link
'New schedule'
end
fill_in_schedule_form
all
(
'[name="schedule[variables_attributes][][key]"]'
)[
0
].
set
(
'AAA'
)
it
'edits existing variable'
do
all
(
'[name="schedule[variables_attributes][][value]"]'
)[
0
].
set
(
'AAA123'
)
expect
(
first
(
'[name="schedule[variables_attributes][][key]"]'
).
value
).
to
eq
(
'some_key'
)
all
(
'[name="schedule[variables_attributes][][key]"]'
)[
1
].
set
(
'BBB'
)
expect
(
first
(
'[name="schedule[variables_attributes][][value]"]'
).
value
).
to
eq
(
'some_value'
)
all
(
'[name="schedule[variables_attributes][][value]"]'
)[
1
].
set
(
'BBB123'
)
save_pipeline_schedule
end
fill_in_variable
scenario
'user sees the new variable in edit window'
do
save_pipeline_schedule
find
(
".content-list .pipeline-schedule-table-row:nth-child(1) .btn-group a[title='Edit']"
).
click
expect
(
find
(
".pipeline-variable-list .pipeline-variable-row:nth-child(1) .pipeline-variable-key-input"
).
value
).
to
eq
(
'AAA'
)
expect
(
find
(
".pipeline-variable-list .pipeline-variable-row:nth-child(1) .pipeline-variable-value-input"
).
value
).
to
eq
(
'AAA123'
)
expect
(
find
(
".pipeline-variable-list .pipeline-variable-row:nth-child(2) .pipeline-variable-key-input"
).
value
).
to
eq
(
'BBB'
)
expect
(
find
(
".pipeline-variable-list .pipeline-variable-row:nth-child(2) .pipeline-variable-value-input"
).
value
).
to
eq
(
'BBB123'
)
end
end
expect
(
Ci
::
PipelineSchedule
.
last
.
job_variables
).
to
eq
([{
key:
'foo'
,
value:
'bar'
,
public:
false
}])
context
'when user edits a variable of a pipeline schedule'
do
background
do
create
(
:ci_pipeline_schedule
,
owner:
user
).
tap
do
|
pipeline_schedule
|
create
(
:ci_pipeline_schedule_variable
,
key:
'AAA'
,
value:
'AAA123'
,
pipeline_schedule:
pipeline_schedule
)
end
end
visit_pipelines_schedules
find
(
".content-list .pipeline-schedule-table-row:nth-child(1) .btn-group a[title='Edit']"
).
click
all
(
'[name="schedule[variables_attributes][][key]"]'
)[
0
].
set
(
'foo'
)
all
(
'[name="schedule[variables_attributes][][value]"]'
)[
0
].
set
(
'bar'
)
click_button
'Save pipeline schedule'
end
it
'removes an existing variable'
do
scenario
'user sees the updated variable in edit window'
do
remove_variable
find
(
".content-list .pipeline-schedule-table-row:nth-child(1) .btn-group a[title='Edit']"
).
click
save_pipeline_schedule
expect
(
find
(
".pipeline-variable-list .pipeline-variable-row:nth-child(1) .pipeline-variable-key-input"
).
value
).
to
eq
(
'foo'
)
expect
(
find
(
".pipeline-variable-list .pipeline-variable-row:nth-child(1) .pipeline-variable-value-input"
).
value
).
to
eq
(
'bar'
)
end
end
expect
(
Ci
::
PipelineSchedule
.
last
.
job_variables
).
to
eq
([])
context
'when user removes a variable of a pipeline schedule'
do
background
do
create
(
:ci_pipeline_schedule
,
owner:
user
).
tap
do
|
pipeline_schedule
|
create
(
:ci_pipeline_schedule_variable
,
key:
'AAA'
,
value:
'AAA123'
,
pipeline_schedule:
pipeline_schedule
)
end
end
visit_pipelines_schedules
find
(
".content-list .pipeline-schedule-table-row:nth-child(1) .btn-group a[title='Edit']"
).
click
first
(
'.pipeline-variable-list .pipeline-variable-row-remove-button'
).
click
click_button
'Save pipeline schedule'
end
it
'adds another variable'
do
scenario
'user does not see the removed variable in edit window'
do
fill_in_variable
(
1
)
find
(
".content-list .pipeline-schedule-table-row:nth-child(1) .btn-group a[title='Edit']"
).
click
save_pipeline_schedule
expect
(
find
(
".pipeline-variable-list .pipeline-variable-row:nth-child(1) .pipeline-variable-key-input"
).
value
).
to
eq
(
''
)
expect
(
find
(
".pipeline-variable-list .pipeline-variable-row:nth-child(1) .pipeline-variable-value-input"
).
value
).
to
eq
(
''
)
expect
(
Ci
::
PipelineSchedule
.
last
.
job_variables
).
to
eq
([
{
key:
'some_key'
,
value:
'some_value'
,
public:
false
},
{
key:
'foo'
,
value:
'bar'
,
public:
false
}
])
end
end
end
end
end
...
@@ -211,15 +220,6 @@ feature 'Pipeline Schedules', :feature do
...
@@ -211,15 +220,6 @@ feature 'Pipeline Schedules', :feature do
click_button
'Save pipeline schedule'
click_button
'Save pipeline schedule'
end
end
def
fill_in_variable
(
index
=
0
)
all
(
'[name="schedule[variables_attributes][][key]"]'
)[
index
].
set
(
'foo'
)
all
(
'[name="schedule[variables_attributes][][value]"]'
)[
index
].
set
(
'bar'
)
end
def
remove_variable
first
(
'.js-pipeline-variable-list .js-row-remove-button'
).
click
end
def
fill_in_schedule_form
def
fill_in_schedule_form
fill_in
'schedule_description'
,
with:
'my fancy description'
fill_in
'schedule_description'
,
with:
'my fancy description'
fill_in
'schedule_cron'
,
with:
'* 1 2 3 4'
fill_in
'schedule_cron'
,
with:
'* 1 2 3 4'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment