diff options
author | Fatih Acet <acetfatih@gmail.com> | 2016-09-26 21:35:11 +0000 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2016-09-26 21:35:11 +0000 |
commit | 74d35075b9c5f051b631214b61b97107ac6fed2e (patch) | |
tree | 814f77e60d13baf0123c4344bfa084cae32c7206 /spec/features/boards/boards_spec.rb | |
parent | 709c7009e5fbf67c53a9c09fe0754e605363b07b (diff) | |
parent | ad5f835ceefb4b05f9373381b1581a5f142adf2d (diff) | |
download | gitlab-ce-74d35075b9c5f051b631214b61b97107ac6fed2e.tar.gz |
Merge branch 'issue-boards-filter-label-spaces' into 'master'
Fixed list issues not loading with spaces in filtered values
## What does this MR do?
Vue resource is very kindly encoding our URL params when sending. However - we didn't actually want the `+` to be encoded because Rails reads that as a space, but doesn't read the encoded value as a space :confused:
This converts the `+` into spaces :thumbsup:
## What are the relevant issue numbers?
Closes #21920
See merge request !6258
Diffstat (limited to 'spec/features/boards/boards_spec.rb')
-rw-r--r-- | spec/features/boards/boards_spec.rb | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/spec/features/boards/boards_spec.rb b/spec/features/boards/boards_spec.rb index 19941978c5f..1fd276d5b18 100644 --- a/spec/features/boards/boards_spec.rb +++ b/spec/features/boards/boards_spec.rb @@ -62,6 +62,7 @@ describe 'Issue Boards', feature: true, js: true do let(:bug) { create(:label, project: project, name: 'Bug') } let!(:backlog) { create(:label, project: project, name: 'Backlog') } let!(:done) { create(:label, project: project, name: 'Done') } + let!(:accepting) { create(:label, project: project, name: 'Accepting Merge Requests') } let!(:list1) { create(:list, board: project.board, label: planning, position: 0) } let!(:list2) { create(:list, board: project.board, label: development, position: 1) } @@ -75,7 +76,7 @@ describe 'Issue Boards', feature: true, js: true do let!(:issue6) { create(:labeled_issue, project: project, labels: [planning, development]) } let!(:issue7) { create(:labeled_issue, project: project, labels: [development]) } let!(:issue8) { create(:closed_issue, project: project) } - let!(:issue9) { create(:labeled_issue, project: project, labels: [testing, bug]) } + let!(:issue9) { create(:labeled_issue, project: project, labels: [testing, bug, accepting]) } before do visit namespace_project_board_path(project.namespace, project) @@ -441,6 +442,34 @@ describe 'Issue Boards', feature: true, js: true do wait_for_empty_boards((2..4)) end + it 'filters by label with space after reload' do + page.within '.issues-filters' do + click_button('Label') + wait_for_ajax + + page.within '.dropdown-menu-labels' do + click_link(accepting.title) + wait_for_vue_resource(spinner: false) + find('.dropdown-menu-close').click + end + end + + # Test after reload + page.evaluate_script 'window.location.reload()' + + wait_for_vue_resource + + page.within(find('.board', match: :first)) do + expect(page.find('.board-header')).to have_content('1') + expect(page).to have_selector('.card', count: 1) + end + + page.within(find('.board:nth-child(2)')) do + expect(page.find('.board-header')).to have_content('0') + expect(page).to have_selector('.card', count: 0) + end + end + it 'infinite scrolls list with label filter' do 50.times do create(:labeled_issue, project: project, labels: [testing]) |