diff --git a/CHANGELOG b/CHANGELOG index d5206184d25d7e29fb6c81a6adaa7ed154d4ae22..0369b321e00e282dae97e7d3836acc4ac4139e8d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ Please view this file on the master branch, on stable branches it's out of date. v 8.4.0 (unreleased) + - Hide issues settings when issues are disabled (Hannes Rosenægger) - Add pagination headers to already paginated API resources - Properly generate diff of orphan commits, like the first commit in a repository - Improve the consistency of commit titles, branch names, tag names, issue/MR titles, on their respective project pages diff --git a/app/assets/javascripts/project_new.js.coffee b/app/assets/javascripts/project_new.js.coffee index a11bd074b326b67bed3769ce18496c29a34599de..aa69ed8ea87d41c9f675e14f9ad500dadf027b81 100644 --- a/app/assets/javascripts/project_new.js.coffee +++ b/app/assets/javascripts/project_new.js.coffee @@ -4,6 +4,7 @@ class @ProjectNew $('.project-edit-container').hide() $('.save-project-loader').show() @toggleSettings() + @toggleSettingsOnclick() toggleSettings: -> @@ -12,3 +13,14 @@ class @ProjectNew $('.merge-request-feature').show() else $('.merge-request-feature').hide() + checked = $("#project_issues_enabled").prop("checked") + if checked + $('.issues-feature').show() + else + $('.issues-feature').hide() + + toggleSettingsOnclick: -> + $("#project_merge_requests_enabled").on 'click', => + @toggleSettings() + $("#project_issues_enabled").on 'click', => + @toggleSettings() diff --git a/features/project/project.feature b/features/project/project.feature index d580c10fd05404e015fc1db50b27af6913678125..7b3f7c6313c507d767219da2518601d28ecd6018 100644 --- a/features/project/project.feature +++ b/features/project/project.feature @@ -18,6 +18,18 @@ Feature: Project Then I should see the default project avatar And I should not see the "Remove avatar" button + @javascript + Scenario: I disable issues + Given I visit edit project "Shop" page + When I disable project issues + Then I should not see the issues settings + + @javascript + Scenario: I enable issues + Given I visit edit project "Shop" page + When I enable project issues + Then I should see the issues settings + Scenario: I should have back to group button And project "Shop" belongs to group And I visit project "Shop" page diff --git a/features/steps/project/project.rb b/features/steps/project/project.rb index 4a1cd1835ff0cec55e72481473d8ecc11a447030..6dc8392f969fbeb4dbd7ff8bb7c2e226add26417 100644 --- a/features/steps/project/project.rb +++ b/features/steps/project/project.rb @@ -177,4 +177,21 @@ class Spinach::Features::Project < Spinach::FeatureSteps expect(page).to have_content 'Notification settings saved' end end + + step 'I enable project issues' do + check 'project_issues_enabled' + end + + step 'I disable project issues' do + uncheck 'project_issues_enabled' + end + + step 'I should not see the issues settings' do + expect(find('.issues-feature')).not_to be_visible + end + + step 'I should see the issues settings' do + expect(find('.issues-feature')).to be_visible + end + end