diff options
author | Samantha Ming <sming@gitlab.com> | 2019-08-13 20:06:50 -0700 |
---|---|---|
committer | Samantha Ming <sming@gitlab.com> | 2019-08-20 16:39:34 -0700 |
commit | de5535e140a8d8d4052f7c528c2cd5a6ff18e40d (patch) | |
tree | baa94b33afb77ab6d48ea413468cad3510fbd1f1 | |
parent | 194069402a91da1fb446eccfa861008e124fff3b (diff) | |
download | gitlab-ce-ce-65631-rename-approval-rule.tar.gz |
Rename field & move helper text to placeholderce-65631-rename-approval-rule
4 files changed, 126 insertions, 2 deletions
diff --git a/ee/app/assets/javascripts/approvals/components/rule_form.vue b/ee/app/assets/javascripts/approvals/components/rule_form.vue index 989da03e915..24a761da39e 100644 --- a/ee/app/assets/javascripts/approvals/components/rule_form.vue +++ b/ee/app/assets/javascripts/approvals/components/rule_form.vue @@ -222,12 +222,12 @@ export default { <div class="row"> <div v-if="settings.allowMultiRule" class="form-group col-sm-6"> <label class="label-wrapper"> - <span class="mb-2 bold inline">{{ s__('ApprovalRule|Name') }}</span> + <span class="mb-2 bold inline">{{ s__('ApprovalRule|Rule name') }}</span> <input v-model="name" :class="{ 'is-invalid': validation.name }" class="form-control" - name="Rule name" + name="name" type="text" /> <span class="invalid-feedback">{{ validation.name }}</span> diff --git a/ee/changelogs/unreleased/65631-rename-approval-rule.yml b/ee/changelogs/unreleased/65631-rename-approval-rule.yml new file mode 100644 index 00000000000..de341545db0 --- /dev/null +++ b/ee/changelogs/unreleased/65631-rename-approval-rule.yml @@ -0,0 +1,5 @@ +--- +title: Rename approval rule +merge_request: 15140 +author: +type: other diff --git a/ee/spec/features/merge_request/user_edits_approval_rules_mr_spec.rb b/ee/spec/features/merge_request/user_edits_approval_rules_mr_spec.rb new file mode 100644 index 00000000000..bc7a4d0fe0a --- /dev/null +++ b/ee/spec/features/merge_request/user_edits_approval_rules_mr_spec.rb @@ -0,0 +1,89 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe 'Merge request > User edits MR with approval rules', :js do + include Select2Helper + + include_context 'project with approval rules' + + let(:merge_request) { create(:merge_request, source_project: project) } + let(:mr_rule_names) { %w[foo lorem ipsum] } + let(:modal_id) { '#mr-edit-approvals-create-modal' } + let(:members_selector) { "#{modal_id} input[name=members]" } + let(:members_search_selector) { "#{modal_id} .select2-input" } + + def page_rule_names + page.all('.js-approval-rules table .js-name') + end + + def add_approval_rule_member(type, name) + open_select2 members_selector + wait_for_requests + find(".select2-result-label .#{type}-result", text: name).click + close_select2 members_selector + + find("#{modal_id} button", text: 'Add', exact_text: true).click + end + + before do + project.update_attribute(:disable_overriding_approvers_per_merge_request, false) + stub_licensed_features(multiple_approval_rules: true) + + approver = create(:user) + mr_rule_names.each do |name| + create(:approval_merge_request_rule, + merge_request: merge_request, approvals_required: 1, name: name, users: [approver]) + end + + sign_in(author) + visit(edit_project_merge_request_path(project, merge_request)) + + wait_for_requests + end + + it "shows approval rules" do + names = page_rule_names.map(&:text) + + expect(names).to eq(mr_rule_names) + end + + it "allows user to create approval rule" do + rule_name = "Custom Approval Rule" + + click_button "Add approvers" + + fill_in "Rule name", with: rule_name + + add_approval_rule_member('user', approver.name) + + find("#{modal_id} button", text: 'Add approvers').click + wait_for_requests + + expect(page_rule_names.last).to have_text(rule_name) + end + + context "with public group" do + let!(:group) { create(:group, :public) } + + before do + group.add_developer create(:user) + + click_button "Add approvers" + end + + it "with empty search, does not show public group" do + open_select2 members_selector + wait_for_requests + + expect(page).not_to have_selector('.select2-result-label .group-result', text: group.name) + end + + it "with non-empty search, shows public group" do + find(members_search_selector).set group.name + wait_for_requests + + expect(page).to have_selector('.select2-result-label .group-result', text: group.name) + end + end +end diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 26e6cb524bd..98ebee5fffa 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -625,6 +625,9 @@ msgstr "" msgid "Activity" msgstr "" +msgid "Add" +msgstr "" + msgid "Add %d issue" msgid_plural "Add %d issues" msgstr[0] "" @@ -1236,6 +1239,18 @@ msgstr "" msgid "Applying suggestion" msgstr "" +msgid "ApprovalRule|Members" +msgstr "" + +msgid "ApprovalRule|No. approvals required" +msgstr "" + +msgid "ApprovalRule|Rule name" +msgstr "" + +msgid "ApprovalRule|e.g. QA, Security, etc." +msgstr "" + msgid "Apr" msgstr "" @@ -8200,12 +8215,24 @@ msgstr "" msgid "Please create a username with only alphanumeric characters." msgstr "" +msgid "Please enter a non-negative number" +msgstr "" + +msgid "Please enter a number greater than %{number} (from the project settings)" +msgstr "" + +msgid "Please enter a valid number" +msgstr "" + msgid "Please fill in a descriptive name for your group." msgstr "" msgid "Please note that this application is not provided by GitLab and you should verify its authenticity before allowing access." msgstr "" +msgid "Please provide a name" +msgstr "" + msgid "Please provide a valid email address." msgstr "" @@ -8218,6 +8245,9 @@ msgstr "" msgid "Please select a group." msgstr "" +msgid "Please select and add a member" +msgstr "" + msgid "Please select at least one filter to see results" msgstr "" |