Remove unneeded aliases
This commit is contained in:
		
							parent
							
								
									3e7eeefc93
								
							
						
					
					
						commit
						9aa3edc615
					
				|  | @ -54,7 +54,7 @@ module SlashCommands | |||
|         issuable.closed? && | ||||
|         current_user.can?(:"update_#{issuable.to_ability_name}", issuable) | ||||
|     end | ||||
|     command :reopen, :open do | ||||
|     command :reopen do | ||||
|       @updates[:state_event] = 'reopen' | ||||
|     end | ||||
| 
 | ||||
|  | @ -86,7 +86,7 @@ module SlashCommands | |||
|         issuable.assignee_id? && | ||||
|         current_user.can?(:"admin_#{issuable.to_ability_name}", project) | ||||
|     end | ||||
|     command :unassign, :remove_assignee do | ||||
|     command :unassign do | ||||
|       @updates[:assignee_id] = nil | ||||
|     end | ||||
| 
 | ||||
|  | @ -109,7 +109,7 @@ module SlashCommands | |||
|         issuable.milestone_id? && | ||||
|         current_user.can?(:"admin_#{issuable.to_ability_name}", project) | ||||
|     end | ||||
|     command :clear_milestone, :remove_milestone do | ||||
|     command :remove_milestone do | ||||
|       @updates[:milestone_id] = nil | ||||
|     end | ||||
| 
 | ||||
|  | @ -119,33 +119,40 @@ module SlashCommands | |||
|       current_user.can?(:"admin_#{issuable.to_ability_name}", project) && | ||||
|         project.labels.any? | ||||
|     end | ||||
|     command :label, :labels do |labels_param| | ||||
|     command :label do |labels_param| | ||||
|       label_ids = find_label_ids(labels_param) | ||||
| 
 | ||||
|       @updates[:add_label_ids] = label_ids unless label_ids.empty? | ||||
|     end | ||||
| 
 | ||||
|     desc 'Remove label(s)' | ||||
|     desc 'Remove all or specific label(s)' | ||||
|     params '~label1 ~"label 2"' | ||||
|     condition do | ||||
|       issuable.persisted? && | ||||
|         issuable.labels.any? && | ||||
|         current_user.can?(:"admin_#{issuable.to_ability_name}", project) | ||||
|     end | ||||
|     command :unlabel, :remove_label, :remove_labels do |labels_param| | ||||
|     command :unlabel do |labels_param = nil| | ||||
|       if labels_param.present? | ||||
|         label_ids = find_label_ids(labels_param) | ||||
| 
 | ||||
|         @updates[:remove_label_ids] = label_ids unless label_ids.empty? | ||||
|       else | ||||
|         @updates[:label_ids] = [] | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     desc 'Remove all labels' | ||||
|     desc 'Replace all label(s)' | ||||
|     params '~label1 ~"label 2"' | ||||
|     condition do | ||||
|       issuable.persisted? && | ||||
|         issuable.labels.any? && | ||||
|         current_user.can?(:"admin_#{issuable.to_ability_name}", project) | ||||
|     end | ||||
|     command :clear_labels, :clear_label do | ||||
|       @updates[:label_ids] = [] | ||||
|     command :relabel do |labels_param| | ||||
|       label_ids = find_label_ids(labels_param) | ||||
| 
 | ||||
|       @updates[:label_ids] = label_ids unless label_ids.empty? | ||||
|     end | ||||
| 
 | ||||
|     desc 'Add a todo' | ||||
|  | @ -185,12 +192,12 @@ module SlashCommands | |||
|     end | ||||
| 
 | ||||
|     desc 'Set due date' | ||||
|     params '<in 2 days; this Friday; December 31st>' | ||||
|     params '<in 2 days | this Friday | December 31st>' | ||||
|     condition do | ||||
|       issuable.respond_to?(:due_date) && | ||||
|         current_user.can?(:"update_#{issuable.to_ability_name}", issuable) | ||||
|     end | ||||
|     command :due, :due_date do |due_date_param| | ||||
|     command :due do |due_date_param| | ||||
|       due_date = Chronic.parse(due_date_param).try(:to_date) | ||||
| 
 | ||||
|       @updates[:due_date] = due_date if due_date | ||||
|  | @ -203,7 +210,7 @@ module SlashCommands | |||
|         issuable.due_date? && | ||||
|         current_user.can?(:"update_#{issuable.to_ability_name}", issuable) | ||||
|     end | ||||
|     command :clear_due_date do | ||||
|     command :remove_due_date do | ||||
|       @updates[:due_date] = nil | ||||
|     end | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,26 +5,26 @@ requests that are usually done by clicking buttons or dropdowns in GitLab's UI. | |||
| You can enter these commands while creating a new issue or merge request, and | ||||
| in comments. Each command should be on a separate line in order to be properly | ||||
| detected and executed. The commands are removed from the issue, merge request or | ||||
| comment body before it is saved and will not be visible as such to anyone else. | ||||
| comment body before it is saved and will not be visible to anyone else. | ||||
| 
 | ||||
| Here is a list of all of the available commands and descriptions about what they | ||||
| Below is a list of all of the available commands and descriptions about what they | ||||
| do. | ||||
| 
 | ||||
| | Command                    | Aliases             | Action       | | ||||
| |:---------------------------|:--------------------|:-------------| | ||||
| | `/close`                   | None                | Close the issue or merge request | | ||||
| | `/reopen`                  | `/open`             | Reopen the issue or merge request | | ||||
| | `/title <New title>`       | None                | Change title | | ||||
| | `/assign @username`        | None                | Assign | | ||||
| | `/unassign`                | `/remove_assignee`  | Remove assignee | | ||||
| | `/milestone %milestone`    | None                | Set milestone | | ||||
| | `/clear_milestone`         | `/remove_milestone` | Remove milestone | | ||||
| | `/label ~foo ~"bar baz"`   | `/labels`           | Add label(s) | | ||||
| | `/unlabel ~foo ~"bar baz"` | `/remove_label`, `remove_labels` | Remove label(s) | | ||||
| | `/clear_labels`            | `/clear_label`      | Clear all labels | | ||||
| | `/todo`                    | None                | Add a todo | | ||||
| | `/done`                    | None                | Mark todo as done | | ||||
| | `/subscribe`               | None                | Subscribe | | ||||
| | `/unsubscribe`             | None                | Unsubscribe | | ||||
| | `/due <in 2 days; this Friday; December 31st>` | `/due_date` | Set due date | | ||||
| | `/clear_due_date`          | None                | Remove due date | | ||||
| | Command                    | Action       | | ||||
| |:---------------------------|:-------------| | ||||
| | `/close`                   | Close the issue or merge request | | ||||
| | `/reopen`                  | Reopen the issue or merge request | | ||||
| | `/title <New title>`       | Change title | | ||||
| | `/assign @username`        | Assign | | ||||
| | `/unassign`                | Remove assignee | | ||||
| | `/milestone %milestone`    | Set milestone | | ||||
| | `/remove_milestone`        | Remove milestone | | ||||
| | `/label ~foo ~"bar baz"`   | Add label(s) | | ||||
| | `/unlabel ~foo ~"bar baz"` | Remove all or specific label(s) | | ||||
| | `/relabel ~foo ~"bar baz"` | Replace all label(s) | | ||||
| | `/todo`                    | Add a todo | | ||||
| | `/done`                    | Mark todo as done | | ||||
| | `/subscribe`               | Subscribe | | ||||
| | `/unsubscribe`             | Unsubscribe | | ||||
| | `/due <in 2 days | this Friday | December 31st>` | Set due date | | ||||
| | `/remove_due_date`          | Remove due date | | ||||
|  |  | |||
|  | @ -22,11 +22,11 @@ feature 'Issues > User uses slash commands', feature: true, js: true do | |||
| 
 | ||||
|       it 'does not create a note, and sets the due date accordingly' do | ||||
|         page.within('.js-main-target-form') do | ||||
|           fill_in 'note[note]', with: "/due_date 2016-08-28" | ||||
|           fill_in 'note[note]', with: "/due 2016-08-28" | ||||
|           click_button 'Comment' | ||||
|         end | ||||
| 
 | ||||
|         expect(page).not_to have_content '/due_date 2016-08-28' | ||||
|         expect(page).not_to have_content '/due 2016-08-28' | ||||
|         expect(page).to have_content 'Your commands have been executed!' | ||||
| 
 | ||||
|         issue.reload | ||||
|  | @ -42,11 +42,11 @@ feature 'Issues > User uses slash commands', feature: true, js: true do | |||
|         expect(issue.due_date).to eq Date.new(2016, 8, 28) | ||||
| 
 | ||||
|         page.within('.js-main-target-form') do | ||||
|           fill_in 'note[note]', with: "/clear_due_date" | ||||
|           fill_in 'note[note]', with: "/remove_due_date" | ||||
|           click_button 'Comment' | ||||
|         end | ||||
| 
 | ||||
|         expect(page).not_to have_content '/clear_due_date' | ||||
|         expect(page).not_to have_content '/remove_due_date' | ||||
|         expect(page).to have_content 'Your commands have been executed!' | ||||
| 
 | ||||
|         issue.reload | ||||
|  |  | |||
|  | @ -22,11 +22,11 @@ feature 'Merge Requests > User uses slash commands', feature: true, js: true do | |||
| 
 | ||||
|     it 'does not recognize the command nor create a note' do | ||||
|       page.within('.js-main-target-form') do | ||||
|         fill_in 'note[note]', with: "/due_date 2016-08-28" | ||||
|         fill_in 'note[note]', with: "/due 2016-08-28" | ||||
|         click_button 'Comment' | ||||
|       end | ||||
| 
 | ||||
|       expect(page).not_to have_content '/due_date 2016-08-28' | ||||
|       expect(page).not_to have_content '/due 2016-08-28' | ||||
|     end | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -18,7 +18,7 @@ describe Gitlab::SlashCommands::Extractor do | |||
|     it 'extracts command' do | ||||
|       msg, commands = extractor.extract_commands(original_msg) | ||||
| 
 | ||||
|       expect(commands).to eq [['open']] | ||||
|       expect(commands).to eq [['reopen']] | ||||
|       expect(msg).to eq final_msg | ||||
|     end | ||||
|   end | ||||
|  | @ -45,31 +45,31 @@ describe Gitlab::SlashCommands::Extractor do | |||
|     describe 'command with no argument' do | ||||
|       context 'at the start of content' do | ||||
|         it_behaves_like 'command with no argument' do | ||||
|           let(:original_msg) { "/open\nworld" } | ||||
|           let(:original_msg) { "/reopen\nworld" } | ||||
|           let(:final_msg) { "world" } | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|       context 'in the middle of content' do | ||||
|         it_behaves_like 'command with no argument' do | ||||
|           let(:original_msg) { "hello\n/open\nworld" } | ||||
|           let(:original_msg) { "hello\n/reopen\nworld" } | ||||
|           let(:final_msg) { "hello\nworld" } | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|       context 'in the middle of a line' do | ||||
|         it 'does not extract command' do | ||||
|           msg = "hello\nworld /open" | ||||
|           msg = "hello\nworld /reopen" | ||||
|           msg, commands = extractor.extract_commands(msg) | ||||
| 
 | ||||
|           expect(commands).to be_empty | ||||
|           expect(msg).to eq "hello\nworld /open" | ||||
|           expect(msg).to eq "hello\nworld /reopen" | ||||
|         end | ||||
|       end | ||||
| 
 | ||||
|       context 'at the end of content' do | ||||
|         it_behaves_like 'command with no argument' do | ||||
|           let(:original_msg) { "hello\n/open" } | ||||
|           let(:original_msg) { "hello\n/reopen" } | ||||
|           let(:final_msg) { "hello" } | ||||
|         end | ||||
|       end | ||||
|  | @ -170,10 +170,10 @@ describe Gitlab::SlashCommands::Extractor do | |||
|     end | ||||
| 
 | ||||
|     it 'extracts multiple commands' do | ||||
|       msg = %(hello\n/power @user.name %9.10 ~"bar baz.2" label\nworld\n/open) | ||||
|       msg = %(hello\n/power @user.name %9.10 ~"bar baz.2" label\nworld\n/reopen) | ||||
|       msg, commands = extractor.extract_commands(msg) | ||||
| 
 | ||||
|       expect(commands).to eq [['power', '@user.name %9.10 ~"bar baz.2" label'], ['open']] | ||||
|       expect(commands).to eq [['power', '@user.name %9.10 ~"bar baz.2" label'], ['reopen']] | ||||
|       expect(msg).to eq "hello\nworld" | ||||
|     end | ||||
| 
 | ||||
|  |  | |||
|  | @ -69,12 +69,12 @@ describe Notes::SlashCommandsService, services: true do | |||
|         end | ||||
|       end | ||||
| 
 | ||||
|       describe '/open' do | ||||
|       describe '/reopen' do | ||||
|         before do | ||||
|           note.noteable.close! | ||||
|           expect(note.noteable).to be_closed | ||||
|         end | ||||
|         let(:note_text) { '/open' } | ||||
|         let(:note_text) { '/reopen' } | ||||
| 
 | ||||
|         it 'opens the noteable, and leave no note' do | ||||
|           content, command_params = service.extract_commands(note) | ||||
|  | @ -104,12 +104,12 @@ describe Notes::SlashCommandsService, services: true do | |||
|         end | ||||
|       end | ||||
| 
 | ||||
|       describe '/open' do | ||||
|       describe '/reopen' do | ||||
|         before do | ||||
|           note.noteable.close | ||||
|           expect(note.noteable).to be_closed | ||||
|         end | ||||
|         let(:note_text) { "HELLO\n/open\nWORLD" } | ||||
|         let(:note_text) { "HELLO\n/reopen\nWORLD" } | ||||
| 
 | ||||
|         it 'opens the noteable' do | ||||
|           content, command_params = service.extract_commands(note) | ||||
|  |  | |||
|  | @ -16,8 +16,8 @@ describe SlashCommands::InterpretService, services: true do | |||
|     let(:service) { described_class.new(project, user) } | ||||
|     let(:merge_request) { create(:merge_request, source_project: project) } | ||||
| 
 | ||||
|     shared_examples 'open command' do | ||||
|       it 'returns state_event: "open" if content contains /open' do | ||||
|     shared_examples 'reopen command' do | ||||
|       it 'returns state_event: "reopen" if content contains /reopen' do | ||||
|         issuable.close! | ||||
|         _, updates = service.execute(content, issuable) | ||||
| 
 | ||||
|  | @ -26,7 +26,7 @@ describe SlashCommands::InterpretService, services: true do | |||
|     end | ||||
| 
 | ||||
|     shared_examples 'close command' do | ||||
|       it 'returns state_event: "close" if content contains /open' do | ||||
|       it 'returns state_event: "close" if content contains /close' do | ||||
|         _, updates = service.execute(content, issuable) | ||||
| 
 | ||||
|         expect(updates).to eq(state_event: 'close') | ||||
|  | @ -67,8 +67,8 @@ describe SlashCommands::InterpretService, services: true do | |||
|       end | ||||
|     end | ||||
| 
 | ||||
|     shared_examples 'clear_milestone command' do | ||||
|       it 'populates milestone_id: nil if content contains /clear_milestone' do | ||||
|     shared_examples 'remove_milestone command' do | ||||
|       it 'populates milestone_id: nil if content contains /remove_milestone' do | ||||
|         issuable.update(milestone_id: milestone.id) | ||||
|         _, updates = service.execute(content, issuable) | ||||
| 
 | ||||
|  | @ -95,8 +95,8 @@ describe SlashCommands::InterpretService, services: true do | |||
|       end | ||||
|     end | ||||
| 
 | ||||
|     shared_examples 'clear_labels command' do | ||||
|       it 'populates label_ids: [] if content contains /clear_labels' do | ||||
|     shared_examples 'unlabel command with no argument' do | ||||
|       it 'populates label_ids: [] if content contains /unlabel with no arguments' do | ||||
|         issuable.update(label_ids: [inprogress.id]) # populate the label | ||||
|         _, updates = service.execute(content, issuable) | ||||
| 
 | ||||
|  | @ -104,6 +104,16 @@ describe SlashCommands::InterpretService, services: true do | |||
|       end | ||||
|     end | ||||
| 
 | ||||
|     shared_examples 'relabel command' do | ||||
|       it 'populates label_ids: [] if content contains /relabel' do | ||||
|         issuable.update(label_ids: [bug.id]) # populate the label | ||||
|         inprogress # populate the label | ||||
|         _, updates = service.execute(content, issuable) | ||||
| 
 | ||||
|         expect(updates).to eq(label_ids: [inprogress.id]) | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     shared_examples 'todo command' do | ||||
|       it 'populates todo_event: "add" if content contains /todo' do | ||||
|         _, updates = service.execute(content, issuable) | ||||
|  | @ -138,16 +148,16 @@ describe SlashCommands::InterpretService, services: true do | |||
|       end | ||||
|     end | ||||
| 
 | ||||
|     shared_examples 'due_date command' do | ||||
|       it 'populates due_date: Date.new(2016, 8, 28) if content contains /due_date 2016-08-28' do | ||||
|     shared_examples 'due command' do | ||||
|       it 'populates due_date: Date.new(2016, 8, 28) if content contains /due 2016-08-28' do | ||||
|         _, updates = service.execute(content, issuable) | ||||
| 
 | ||||
|         expect(updates).to eq(due_date: defined?(expected_date) ? expected_date : Date.new(2016, 8, 28)) | ||||
|       end | ||||
|     end | ||||
| 
 | ||||
|     shared_examples 'clear_due_date command' do | ||||
|       it 'populates due_date: nil if content contains /clear_due_date' do | ||||
|     shared_examples 'remove_due_date command' do | ||||
|       it 'populates due_date: nil if content contains /remove_due_date' do | ||||
|         issuable.update(due_date: Date.today) | ||||
|         _, updates = service.execute(content, issuable) | ||||
| 
 | ||||
|  | @ -163,21 +173,16 @@ describe SlashCommands::InterpretService, services: true do | |||
|       end | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'open command' do | ||||
|       let(:content) { '/open' } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'open command' do | ||||
|       let(:content) { '/open' } | ||||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'open command' do | ||||
|     it_behaves_like 'reopen command' do | ||||
|       let(:content) { '/reopen' } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'reopen command' do | ||||
|       let(:content) { '/reopen' } | ||||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'close command' do | ||||
|       let(:content) { '/close' } | ||||
|       let(:issuable) { issue } | ||||
|  | @ -233,11 +238,6 @@ describe SlashCommands::InterpretService, services: true do | |||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'unassign command' do | ||||
|       let(:content) { '/remove_assignee' } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'milestone command' do | ||||
|       let(:content) { "/milestone %#{milestone.title}" } | ||||
|       let(:issuable) { issue } | ||||
|  | @ -248,21 +248,16 @@ describe SlashCommands::InterpretService, services: true do | |||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'clear_milestone command' do | ||||
|       let(:content) { '/clear_milestone' } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'clear_milestone command' do | ||||
|       let(:content) { '/clear_milestone' } | ||||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'clear_milestone command' do | ||||
|     it_behaves_like 'remove_milestone command' do | ||||
|       let(:content) { '/remove_milestone' } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'remove_milestone command' do | ||||
|       let(:content) { '/remove_milestone' } | ||||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'label command' do | ||||
|       let(:content) { %(/label ~"#{inprogress.title}" ~#{bug.title} ~unknown) } | ||||
|       let(:issuable) { issue } | ||||
|  | @ -273,11 +268,6 @@ describe SlashCommands::InterpretService, services: true do | |||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'label command' do | ||||
|       let(:content) { %(/labels ~"#{inprogress.title}" ~#{bug.title} ~unknown) } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'unlabel command' do | ||||
|       let(:content) { %(/unlabel ~"#{inprogress.title}") } | ||||
|       let(:issuable) { issue } | ||||
|  | @ -288,31 +278,26 @@ describe SlashCommands::InterpretService, services: true do | |||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'unlabel command' do | ||||
|       let(:content) { %(/remove_labels ~"#{inprogress.title}") } | ||||
|     it_behaves_like 'unlabel command with no argument' do | ||||
|       let(:content) { %(/unlabel) } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'unlabel command' do | ||||
|       let(:content) { %(/remove_label ~"#{inprogress.title}") } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'clear_labels command' do | ||||
|       let(:content) { '/clear_labels' } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'clear_labels command' do | ||||
|       let(:content) { '/clear_labels' } | ||||
|     it_behaves_like 'unlabel command with no argument' do | ||||
|       let(:content) { %(/unlabel) } | ||||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'clear_labels command' do | ||||
|       let(:content) { '/clear_label' } | ||||
|     it_behaves_like 'relabel command' do | ||||
|       let(:content) { %(/relabel ~"#{inprogress.title}") } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'relabel command' do | ||||
|       let(:content) { %(/relabel ~"#{inprogress.title}") } | ||||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'todo command' do | ||||
|       let(:content) { '/todo' } | ||||
|       let(:issuable) { issue } | ||||
|  | @ -353,46 +338,46 @@ describe SlashCommands::InterpretService, services: true do | |||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'due_date command' do | ||||
|       let(:content) { '/due_date 2016-08-28' } | ||||
|     it_behaves_like 'due command' do | ||||
|       let(:content) { '/due 2016-08-28' } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'due_date command' do | ||||
|     it_behaves_like 'due command' do | ||||
|       let(:content) { '/due tomorrow' } | ||||
|       let(:issuable) { issue } | ||||
|       let(:expected_date) { Date.tomorrow } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'due_date command' do | ||||
|     it_behaves_like 'due command' do | ||||
|       let(:content) { '/due 5 days from now' } | ||||
|       let(:issuable) { issue } | ||||
|       let(:expected_date) { 5.days.from_now.to_date } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'due_date command' do | ||||
|     it_behaves_like 'due command' do | ||||
|       let(:content) { '/due in 2 days' } | ||||
|       let(:issuable) { issue } | ||||
|       let(:expected_date) { 2.days.from_now.to_date } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'empty command' do | ||||
|       let(:content) { '/due_date foo bar' } | ||||
|       let(:content) { '/due foo bar' } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'empty command' do | ||||
|       let(:content) { '/due_date 2016-08-28' } | ||||
|       let(:content) { '/due 2016-08-28' } | ||||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'clear_due_date command' do | ||||
|       let(:content) { '/clear_due_date' } | ||||
|     it_behaves_like 'remove_due_date command' do | ||||
|       let(:content) { '/remove_due_date' } | ||||
|       let(:issuable) { issue } | ||||
|     end | ||||
| 
 | ||||
|     it_behaves_like 'empty command' do | ||||
|       let(:content) { '/clear_due_date' } | ||||
|       let(:content) { '/remove_due_date' } | ||||
|       let(:issuable) { merge_request } | ||||
|     end | ||||
|   end | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ shared_examples 'new issuable record that supports slash commands' do | |||
|   context 'with labels in command only' do | ||||
|     let(:example_params) do | ||||
|       { | ||||
|         description: "/label ~#{labels.first.name} ~#{labels.second.name}\n/remove_label ~#{labels.third.name}" | ||||
|         description: "/label ~#{labels.first.name} ~#{labels.second.name}\n/unlabel ~#{labels.third.name}" | ||||
|       } | ||||
|     end | ||||
| 
 | ||||
|  | @ -28,7 +28,7 @@ shared_examples 'new issuable record that supports slash commands' do | |||
|     let(:example_params) do | ||||
|       { | ||||
|         label_ids: [labels.second.id], | ||||
|         description: "/label ~#{labels.first.name}\n/remove_label ~#{labels.third.name}" | ||||
|         description: "/label ~#{labels.first.name}\n/unlabel ~#{labels.third.name}" | ||||
|       } | ||||
|     end | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue