summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Davison <ddavison@gitlab.com>2018-06-18 12:38:00 -0400
committerddavison <ddavison@gitlab.com>2018-06-26 12:41:56 -0400
commit3690a405391cbfe782e894055fee568714ff8939 (patch)
tree040f44a051a43728619d743c30ad264dc249b023
parent7f5a52d7952e71aa94e8cabee323a81642bf39e8 (diff)
downloadgitlab-ce-milestone-tests.tar.gz
adding milestone functionality for merge requestsmilestone-tests
-rw-r--r--app/views/groups/milestones/_form.html.haml4
-rw-r--r--app/views/groups/milestones/index.html.haml2
-rw-r--r--app/views/projects/milestones/_form.html.haml2
-rw-r--r--app/views/shared/_new_project_item_select.html.haml2
-rw-r--r--app/views/shared/issuable/_milestone_dropdown.html.haml2
-rw-r--r--qa/qa/factory/resource/merge_request.rb2
-rw-r--r--qa/qa/page/dashboard/milestones.rb6
-rw-r--r--qa/qa/page/merge_request/new.rb13
-rw-r--r--qa/qa/page/project/milestone/new.rb4
-rw-r--r--qa/qa/page/project/milestone/show.rb3
-rw-r--r--qa/qa/specs/features/merge_request/create_spec.rb19
-rw-r--r--qa/qa/specs/features/milestone/create_spec.rb7
12 files changed, 15 insertions, 51 deletions
diff --git a/app/views/groups/milestones/_form.html.haml b/app/views/groups/milestones/_form.html.haml
index fe532274887..6d35457a0ec 100644
--- a/app/views/groups/milestones/_form.html.haml
+++ b/app/views/groups/milestones/_form.html.haml
@@ -6,12 +6,12 @@
.form-group.row
= f.label :title, "Title", class: "col-form-label col-sm-2"
.col-sm-10
- = f.text_field :title, maxlength: 255, class: "qa-milestone-title form-control", required: true, autofocus: true
+ = f.text_field :title, maxlength: 255, class: "form-control", required: true, autofocus: true
.form-group.row.milestone-description
= f.label :description, "Description", class: "col-form-label col-sm-2"
.col-sm-10
= render layout: 'projects/md_preview', locals: { url: group_preview_markdown_path } do
- = render 'projects/zen', f: f, attr: :description, classes: 'qa-milestone-description note-textarea', placeholder: 'Write milestone description...', supports_autocomplete: false
+ = render 'projects/zen', f: f, attr: :description, classes: 'note-textarea', placeholder: 'Write milestone description...', supports_autocomplete: false
.clearfix
.error-alert
diff --git a/app/views/groups/milestones/index.html.haml b/app/views/groups/milestones/index.html.haml
index 0a81978bd11..f5f621507b8 100644
--- a/app/views/groups/milestones/index.html.haml
+++ b/app/views/groups/milestones/index.html.haml
@@ -6,7 +6,7 @@
.nav-controls
= render 'shared/milestones_sort_dropdown'
- if can?(current_user, :admin_milestones, @group)
- = link_to "New milestone", new_group_milestone_path(@group), class: "btn btn-new qa-new-milestone"
+ = link_to "New milestone", new_group_milestone_path(@group), class: "btn btn-new"
.milestones
%ul.content-list
diff --git a/app/views/projects/milestones/_form.html.haml b/app/views/projects/milestones/_form.html.haml
index 7c936940d48..ba77ab5287f 100644
--- a/app/views/projects/milestones/_form.html.haml
+++ b/app/views/projects/milestones/_form.html.haml
@@ -18,7 +18,7 @@
.form-actions
- if @milestone.new_record?
- = f.submit 'Create milestone', class: "btn-create btn"
+ = f.submit 'Create milestone', class: "btn-create btn qa-milestone-create-button"
= link_to "Cancel", project_milestones_path(@project), class: "btn btn-cancel"
- else
= f.submit 'Save changes', class: "btn-save btn"
diff --git a/app/views/shared/_new_project_item_select.html.haml b/app/views/shared/_new_project_item_select.html.haml
index ac2ebb701a5..276541cb981 100644
--- a/app/views/shared/_new_project_item_select.html.haml
+++ b/app/views/shared/_new_project_item_select.html.haml
@@ -1,6 +1,6 @@
- if any_projects?(@projects)
.project-item-select-holder.btn-group
- %a.btn.btn-new.new-project-item-link{ href: '', data: { label: local_assigns[:label], type: local_assigns[:type] } }
+ %a.btn.btn-new.new-project-item-link.qa-new-project-item-link{ href: '', data: { label: local_assigns[:label], type: local_assigns[:type] } }
= icon('spinner spin')
= project_select_tag :project_path, class: "project-item-select", data: { include_groups: local_assigns[:include_groups], order_by: 'last_activity_at', relative_path: local_assigns[:path] }, with_feature_enabled: local_assigns[:with_feature_enabled]
%button.btn.btn-new.new-project-item-select-button
diff --git a/app/views/shared/issuable/_milestone_dropdown.html.haml b/app/views/shared/issuable/_milestone_dropdown.html.haml
index c804b508a01..c2da363b8c6 100644
--- a/app/views/shared/issuable/_milestone_dropdown.html.haml
+++ b/app/views/shared/issuable/_milestone_dropdown.html.haml
@@ -13,7 +13,7 @@
%ul.dropdown-footer-list
- if can? current_user, :admin_milestone, project
%li
- = link_to new_project_milestone_path(project), class: 'qa-issuable-new-milestone', title: "New Milestone" do
+ = link_to new_project_milestone_path(project), title: "New Milestone" do
Create new
%li
= link_to project_milestones_path(project) do
diff --git a/qa/qa/factory/resource/merge_request.rb b/qa/qa/factory/resource/merge_request.rb
index 84c487ba7cf..d3dad7a8a14 100644
--- a/qa/qa/factory/resource/merge_request.rb
+++ b/qa/qa/factory/resource/merge_request.rb
@@ -58,9 +58,7 @@ module QA
page.fill_title(@title)
page.fill_description(@description)
- page.choose_assignee(@assignee)
page.choose_milestone(@milestone)
- page.choose_labels(@labels)
page.create_merge_request
end
diff --git a/qa/qa/page/dashboard/milestones.rb b/qa/qa/page/dashboard/milestones.rb
index 78c9412f2f4..f9069e61e29 100644
--- a/qa/qa/page/dashboard/milestones.rb
+++ b/qa/qa/page/dashboard/milestones.rb
@@ -2,13 +2,15 @@ module QA
module Page
module Dashboard
class Milestones < Page::Base
- view 'app/views/dashboard/milestone/index.html.haml'
+ view 'app/views/shared/_new_project_item_select.html.haml' do
+ element :new_project_item_link
+ end
def select_project_or_group(project_or_group)
find('.new-project-item-select-button').click
find('ul.select2-results > li', text: project_or_group).click
- find('.new-project-item-link').click
+ click_element :new_project_item_link
end
def self.path
diff --git a/qa/qa/page/merge_request/new.rb b/qa/qa/page/merge_request/new.rb
index b38ccdf392e..ece820bed6a 100644
--- a/qa/qa/page/merge_request/new.rb
+++ b/qa/qa/page/merge_request/new.rb
@@ -20,7 +20,6 @@ module QA
view 'app/views/shared/issuable/_milestone_dropdown.html.haml' do
element :issuable_dropdown_menu_milestone
- element :issuable_new_milestone
end
def create_merge_request
@@ -35,12 +34,6 @@ module QA
fill_element :issuable_form_description, description
end
- def choose_assignee(assignee)
- unless assignee.nil?
- # TODO Choose the Assignee
- end
- end
-
def choose_milestone(milestone)
unless milestone.nil?
click_element :issuable_milestone_dropdown
@@ -49,12 +42,6 @@ module QA
end
end
end
-
- def choose_labels(labels)
- unless labels.nil? and labels.is_a? Array
- # TODO: Choose Label(s)
- end
- end
end
end
end
diff --git a/qa/qa/page/project/milestone/new.rb b/qa/qa/page/project/milestone/new.rb
index edeb6b45546..992ef89004b 100644
--- a/qa/qa/page/project/milestone/new.rb
+++ b/qa/qa/page/project/milestone/new.rb
@@ -4,6 +4,7 @@ module QA
module Milestone
class New < Page::Base
view 'app/views/projects/milestones/_form.html.haml' do
+ element :milestone_create_button
element :milestone_title
element :milestone_description
end
@@ -17,11 +18,10 @@ module QA
end
def create_new_milestone
- click_button 'Create milestone'
+ click_element :milestone_create_button
end
end
end
end
end
end
-
diff --git a/qa/qa/page/project/milestone/show.rb b/qa/qa/page/project/milestone/show.rb
index 02b495e20d5..cc24f4cdcff 100644
--- a/qa/qa/page/project/milestone/show.rb
+++ b/qa/qa/page/project/milestone/show.rb
@@ -3,6 +3,8 @@ module QA
module Project
module Milestone
class Show < Page::Base
+ view 'app/views/projects/milestones/show.html.haml'
+
def milestone_title
find('h2.title').text
end
@@ -11,4 +13,3 @@ module QA
end
end
end
-
diff --git a/qa/qa/specs/features/merge_request/create_spec.rb b/qa/qa/specs/features/merge_request/create_spec.rb
index 80d800d9eeb..bdac77bdd92 100644
--- a/qa/qa/specs/features/merge_request/create_spec.rb
+++ b/qa/qa/specs/features/merge_request/create_spec.rb
@@ -4,20 +4,6 @@ module QA
Runtime::Browser.visit(:gitlab, Page::Main::Login)
Page::Main::Login.act { sign_in_using_credentials }
- Factory::Resource::MergeRequest.fabricate! do |merge_request|
- merge_request.title = 'This is a merge request'
- merge_request.description = 'Great feature'
- end
-
- expect(page).to have_content('This is a merge request')
- expect(page).to have_content('Great feature')
- expect(page).to have_content(/Opened [\w\s]+ ago/)
- end
-
- scenario 'user attaches a milestone to the merge request' do
- Runtime::Browser.visit(:gitlab, Page::Main::Login)
- Page::Main::Login.act { sign_in_using_credentials }
-
current_project = Factory::Resource::Project.fabricate! do |project|
project.name = 'project-with-merge-request-and-milestone'
end
@@ -27,20 +13,17 @@ module QA
milestone.project = current_project
end
-
Factory::Resource::MergeRequest.fabricate! do |merge_request|
merge_request.title = 'This is a merge request with a milestone'
merge_request.description = 'Great feature with milestone'
merge_request.project = current_project
- # merge_request.assignee =
merge_request.milestone = current_milestone
- # merge_request.labels = %w()
end
expect(page).to have_content('This is a merge request with a milestone')
expect(page).to have_content('Great feature with milestone')
- expect(page).to have_content('Opened less than a minute ago')
+ expect(page).to have_content(/Opened [\w\s]+ ago/)
expect(page).to have_content(current_milestone.title)
end
end
diff --git a/qa/qa/specs/features/milestone/create_spec.rb b/qa/qa/specs/features/milestone/create_spec.rb
deleted file mode 100644
index 2b7522af0cf..00000000000
--- a/qa/qa/specs/features/milestone/create_spec.rb
+++ /dev/null
@@ -1,7 +0,0 @@
-module QA
- feature 'milestone', :core do
- scenario 'user creates a milestone' do
- # TODO stub
- end
- end
-end