diff --git a/app/controllers/projects/labels_controller.rb b/app/controllers/projects/labels_controller.rb index 87d1c942034950ed553e35674d9585b896b016da..6c7bde9c5d5544dac846842f48a3e5c26429379c 100644 --- a/app/controllers/projects/labels_controller.rb +++ b/app/controllers/projects/labels_controller.rb @@ -52,7 +52,7 @@ class Projects::LabelsController < Projects::ApplicationController respond_to do |format| format.html { redirect_to project_labels_path(@project), notice: 'Label was removed' } - format.js { render nothing: true } + format.js end end diff --git a/app/views/projects/labels/destroy.js.haml b/app/views/projects/labels/destroy.js.haml new file mode 100644 index 0000000000000000000000000000000000000000..1b4c83ab0979ff45905f9d5d17171015e80dc66d --- /dev/null +++ b/app/views/projects/labels/destroy.js.haml @@ -0,0 +1,2 @@ +- if @project.labels.size == 0 + $('.labels').load(document.URL + ' .light-well').hide().fadeIn(1000) diff --git a/app/views/projects/labels/index.html.haml b/app/views/projects/labels/index.html.haml index 075779a9c88611dd228e7cb61c2a5e8884f8e25a..06568278de8806fff198daaf54c2396c726831ac 100644 --- a/app/views/projects/labels/index.html.haml +++ b/app/views/projects/labels/index.html.haml @@ -7,11 +7,11 @@ Labels %hr -- if @labels.present? - %ul.bordered-list.manage-labels-list - = render @labels - = paginate @labels, theme: 'gitlab' - -- else - .light-well - .nothing-here-block Create first label or #{link_to 'generate', generate_project_labels_path(@project), method: :post} default set of labels +.labels + - if @labels.present? + %ul.bordered-list.manage-labels-list + = render @labels + = paginate @labels, theme: 'gitlab' + - else + .light-well + .nothing-here-block Create first label or #{link_to 'generate', generate_project_labels_path(@project), method: :post} default set of labels diff --git a/features/project/issues/labels.feature b/features/project/issues/labels.feature index 29cf53072714f6a39b66188a263a35c3856a83e8..77ee5d8a6868728fa8590b07dd36b9f24c1b838a 100644 --- a/features/project/issues/labels.feature +++ b/features/project/issues/labels.feature @@ -24,6 +24,11 @@ Feature: Project Labels When I remove label 'bug' Then I should not see label 'bug' + @javascript + Scenario: I remove all labels + When I delete all labels + Then I should see labels help message + Scenario: I create a label with invalid color Given I visit project "Shop" new label page When I submit new label with invalid color diff --git a/features/steps/project/labels.rb b/features/steps/project/labels.rb index 8320405e096fd855f8d99d0ef87490850e1bffe7..6dd4df8a1ad202d1d29911525b031b51c475d445 100644 --- a/features/steps/project/labels.rb +++ b/features/steps/project/labels.rb @@ -25,6 +25,22 @@ class ProjectLabels < Spinach::FeatureSteps end end + step 'I delete all labels' do + within '.labels' do + all('.btn-remove').each do |remove| + remove.click + sleep 0.05 + end + end + end + + step 'I should see labels help message' do + within '.labels' do + page.should have_content 'Create first label or generate default set of '\ + 'labels' + end + end + step 'I submit new label \'support\'' do fill_in 'Title', with: 'support' fill_in 'Background Color', with: '#F95610'