Commit 4d4f8e29 authored by GitLab Bot's avatar GitLab Bot

Merge remote-tracking branch 'upstream/master' into ce-to-ee-2018-12-10

parents 24b82282 185f8a5d
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
- if current_user - if current_user
.block.todo.hide-expanded .block.todo.hide-expanded
= render "shared/issuable/sidebar_todo", todo: todo, issuable: issuable, is_collapsed: true = render "shared/issuable/sidebar_todo", todo: todo, issuable: issuable, is_collapsed: true
.block.assignee .block.assignee.qa-assignee-block
= render "shared/issuable/sidebar_assignees", issuable: issuable, can_edit_issuable: can_edit_issuable, signed_in: current_user.present? = render "shared/issuable/sidebar_assignees", issuable: issuable, can_edit_issuable: can_edit_issuable, signed_in: current_user.present?
= render_if_exists 'shared/issuable/sidebar_item_epic', issuable: issuable = render_if_exists 'shared/issuable/sidebar_item_epic', issuable: issuable
......
...@@ -5,4 +5,4 @@ ...@@ -5,4 +5,4 @@
= dropdown_tag(user_dropdown_label(issuable.assignee_id, "Assignee"), options: { toggle_class: "js-dropdown-keep-input js-user-search js-issuable-form-dropdown js-assignee-search", title: "Select assignee", filter: true, dropdown_class: "dropdown-menu-user dropdown-menu-selectable dropdown-menu-assignee js-filter-submit", = dropdown_tag(user_dropdown_label(issuable.assignee_id, "Assignee"), options: { toggle_class: "js-dropdown-keep-input js-user-search js-issuable-form-dropdown js-assignee-search", title: "Select assignee", filter: true, dropdown_class: "dropdown-menu-user dropdown-menu-selectable dropdown-menu-assignee js-filter-submit",
placeholder: "Search assignee", data: { first_user: current_user.try(:username), null_user: true, current_user: true, project_id: issuable.project.try(:id), selected: issuable.assignee_id, field_name: "#{issuable.class.model_name.param_key}[assignee_id]", default_label: "Assignee"} }) placeholder: "Search assignee", data: { first_user: current_user.try(:username), null_user: true, current_user: true, project_id: issuable.project.try(:id), selected: issuable.assignee_id, field_name: "#{issuable.class.model_name.param_key}[assignee_id]", default_label: "Assignee"} })
= link_to 'Assign to me', '#', class: "assign-to-me-link #{'hide' if issuable.assignee_id == current_user.id}" = link_to 'Assign to me', '#', class: "assign-to-me-link qa-assign-to-me-link #{'hide' if issuable.assignee_id == current_user.id}"
...@@ -26,6 +26,10 @@ module QA ...@@ -26,6 +26,10 @@ module QA
element :issuable_label element :issuable_label
end end
view 'app/views/shared/issuable/form/_metadata_merge_request_assignee.html.haml' do
element :assign_to_me_link
end
def create_merge_request def create_merge_request
click_element :issuable_create_button click_element :issuable_create_button
end end
...@@ -50,6 +54,10 @@ module QA ...@@ -50,6 +54,10 @@ module QA
click_link label.title click_link label.title
end end
def assign_to_me
click_element :assign_to_me_link
end
end end
end end
end end
......
...@@ -54,6 +54,7 @@ module QA ...@@ -54,6 +54,7 @@ module QA
end end
view 'app/views/shared/issuable/_sidebar.html.haml' do view 'app/views/shared/issuable/_sidebar.html.haml' do
element :assignee_block
element :labels_block element :labels_block
end end
...@@ -102,6 +103,12 @@ module QA ...@@ -102,6 +103,12 @@ module QA
end end
end end
def has_assignee?(username)
page.within(element_selector_css(:assignee_block)) do
has_text?(username)
end
end
def has_label?(label) def has_label?(label)
page.within(element_selector_css(:labels_block)) do page.within(element_selector_css(:labels_block)) do
element = find('span', text: label) element = find('span', text: label)
......
...@@ -63,6 +63,7 @@ module QA ...@@ -63,6 +63,7 @@ module QA
page.fill_title(@title) page.fill_title(@title)
page.fill_description(@description) page.fill_description(@description)
page.choose_milestone(@milestone) if @milestone page.choose_milestone(@milestone) if @milestone
page.assign_to_me if @assignee == 'me'
labels.each do |label| labels.each do |label|
page.select_label(label) page.select_label(label)
end end
......
...@@ -4,6 +4,8 @@ module QA ...@@ -4,6 +4,8 @@ module QA
context 'Create' do context 'Create' do
describe 'Merge request creation' do describe 'Merge request creation' do
it 'user creates a new merge request' do it 'user creates a new merge request' do
gitlab_account_username = "@#{Runtime::User.username}"
Runtime::Browser.visit(:gitlab, Page::Main::Login) Runtime::Browser.visit(:gitlab, Page::Main::Login)
Page::Main::Login.act { sign_in_using_credentials } Page::Main::Login.act { sign_in_using_credentials }
...@@ -27,6 +29,7 @@ module QA ...@@ -27,6 +29,7 @@ module QA
merge_request.description = 'Great feature with milestone' merge_request.description = 'Great feature with milestone'
merge_request.project = current_project merge_request.project = current_project
merge_request.milestone = current_milestone merge_request.milestone = current_milestone
merge_request.assignee = 'me'
merge_request.labels.push(new_label) merge_request.labels.push(new_label)
end end
...@@ -34,6 +37,7 @@ module QA ...@@ -34,6 +37,7 @@ module QA
expect(merge_request).to have_content('This is a merge request with a milestone') expect(merge_request).to have_content('This is a merge request with a milestone')
expect(merge_request).to have_content('Great feature with milestone') expect(merge_request).to have_content('Great feature with milestone')
expect(merge_request).to have_content(/Opened [\w\s]+ ago/) expect(merge_request).to have_content(/Opened [\w\s]+ ago/)
expect(merge_request).to have_assignee(gitlab_account_username)
expect(merge_request).to have_label(new_label.title) expect(merge_request).to have_label(new_label.title)
end end
......
CMakeLists.txt.user
CMakeCache.txt CMakeCache.txt
CMakeFiles CMakeFiles
CMakeScripts CMakeScripts
......
# Ignore configuration files that may contain sensitive information. # gitignore template for Drupal 8 projects
sites/*/*settings*.php #
sites/example.sites.php # earlier versions of Drupal are tracked in `community/Python/`
# Ignore paths that contain generated content. # Ignore configuration files that may contain sensitive information
files/ /sites/*/*settings*.php
sites/*/files /sites/*/*services*.yml
sites/*/private
sites/*/translations
# Ignore default text files # Ignore paths that may contain user-generated content
robots.txt /sites/*/files
/CHANGELOG.txt /sites/*/public
/COPYRIGHT.txt /sites/*/private
/INSTALL*.txt /sites/*/files-public
/sites/*/files-private
# Ignore paths that may contain temporary files
/sites/*/translations
/sites/*/tmp
/sites/*/cache
# Ignore drupal core (if not versioning drupal sources)
/core
/modules/README.txt
/profiles/README.txt
/sites/README.txt
/sites/example.sites.php
/sites/example.settings.local.php
/sites/development.services.yml
/themes/README.txt
/vendor
/.csslintrc
/.editorconfig
/.eslintignore
/.eslintrc.json
/.gitattributes
/.htaccess
/autoload.php
/composer.json
/composer.lock
/example.gitignore
/index.php
/LICENSE.txt /LICENSE.txt
/MAINTAINERS.txt
/UPGRADE.txt
/README.txt /README.txt
sites/README.txt /robots.txt
sites/all/libraries/README.txt /update.php
sites/all/modules/README.txt /web.config
sites/all/themes/README.txt
# Ignore everything but the "sites" folder ( for non core developer )
.htaccess
web.config
authorize.php
cron.php
index.php
install.php
update.php
xmlrpc.php
/includes
/misc
/modules
/profiles
/scripts
/themes
...@@ -43,3 +43,7 @@ flycheck_*.el ...@@ -43,3 +43,7 @@ flycheck_*.el
# directory configuration # directory configuration
.dir-locals.el .dir-locals.el
# network security
/network-security.data
# Gitignore for Cadence Virtuoso
################################################################
# Log files
*.log
panic*.log.*
# OpenAccess database lock files
*.cdslck*
# Run directories for layout vs. schematic and design rule check
lvsRunDir/*
drcRunDir/*
# Abstract generation tool
abstract.log*
abstract.record*
...@@ -2,11 +2,17 @@ ...@@ -2,11 +2,17 @@
# #
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## Build generated ## User settings
xcuserdata/
## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
*.xcscmblueprint
*.xccheckout
## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
build/ build/
DerivedData/ DerivedData/
*.moved-aside
## Various settings
*.pbxuser *.pbxuser
!default.pbxuser !default.pbxuser
*.mode1v3 *.mode1v3
...@@ -15,65 +21,3 @@ DerivedData/ ...@@ -15,65 +21,3 @@ DerivedData/
!default.mode2v3 !default.mode2v3
*.perspectivev3 *.perspectivev3
!default.perspectivev3 !default.perspectivev3
xcuserdata/
## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint
## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM
## Playgrounds
timeline.xctimeline
playground.xcworkspace
# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
# Package.resolved
.build/
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/
#
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace
# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts
Carthage/Build
# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots/**/*.png
fastlane/test_output
# Code Injection
#
# After new code Injection tools there's a generated folder /iOSInjectionProject
# https://github.com/johnno1962/injectionforxcode
iOSInjectionProject/
...@@ -70,7 +70,10 @@ typings/ ...@@ -70,7 +70,10 @@ typings/
.vuepress/dist .vuepress/dist
# Serverless directories # Serverless directories
.serverless .serverless/
# FuseBox cache # FuseBox cache
.fusebox/ .fusebox/
#DynamoDB Local files
.dynamodb/
...@@ -20,6 +20,7 @@ parts/ ...@@ -20,6 +20,7 @@ parts/
sdist/ sdist/
var/ var/
wheels/ wheels/
share/python-wheels/
*.egg-info/ *.egg-info/
.installed.cfg .installed.cfg
*.egg *.egg
......
# changes file # changes file
*.changes *.changes
*.chg
# system image # system image
*.image *.image
*.img7
*.img
# Pharo Smalltalk Debug log file # Pharo Smalltalk Debug log file
PharoDebug.log PharoDebug.log
...@@ -10,6 +13,12 @@ PharoDebug.log ...@@ -10,6 +13,12 @@ PharoDebug.log
# Squeak Smalltalk Debug log file # Squeak Smalltalk Debug log file
SqueakDebug.log SqueakDebug.log
# Dolphin Smalltalk source file
*.sml
# Dolphin Smalltalk error file
*.errors
# Monticello package cache # Monticello package cache
/package-cache /package-cache
......
...@@ -205,6 +205,10 @@ pythontex-files-*/ ...@@ -205,6 +205,10 @@ pythontex-files-*/
# todonotes # todonotes
*.tdo *.tdo
# vhistory
*.hst
*.ver
# easy-todo # easy-todo
*.lod *.lod
......
...@@ -35,3 +35,7 @@ sysinfo.txt ...@@ -35,3 +35,7 @@ sysinfo.txt
# Builds # Builds
*.apk *.apk
*.unitypackage *.unitypackage
# Crashlytics generated file
Assets/StreamingAssets/crashlytics-build.properties
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
[Rr]eleases/ [Rr]eleases/
x64/ x64/
x86/ x86/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/ bld/
[Bb]in/ [Bb]in/
[Oo]bj/ [Oo]bj/
...@@ -229,6 +231,8 @@ orleans.codegen.cs ...@@ -229,6 +231,8 @@ orleans.codegen.cs
# Since there are multiple workflows, uncomment next line to ignore bower_components # Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/ #bower_components/
# ASP.NET Core default setup: bower directory is configured as wwwroot/lib/ and bower restore is true
**/wwwroot/lib/
# RIA/Silverlight projects # RIA/Silverlight projects
Generated_Code/ Generated_Code/
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment