Browse Source

Fixes #4321 - Add rake task descriptions where they are missing.

Martin Gruner 2 years ago
parent
commit
9f8fceac1d

+ 4 - 0
lib/tasks/zammad/ci/bundle/orphaned.rb

@@ -12,6 +12,10 @@ module Tasks
             "#{super} age_in_years"
           end
 
+          def self.description
+            'Check for bundled gems that seem to be outdated/orphaned'
+          end
+
           ARGUMENT_COUNT = 1
 
           def self.task_handler

+ 6 - 1
lib/tasks/zammad/command.rb

@@ -21,10 +21,15 @@ module Tasks
         "Usage: bundle exec rails #{task_name}"
       end
 
+      # Needs to be implemented by child classes.
+      def self.description
+        raise "The required method 'description' is not implemented by #{name}"
+      end
+
       def self.register_rake_task
         Rake::Task.define_task task_name => :environment do
           run_task
-        end
+        end.add_description(description)
       end
 
       def self.run_task

+ 4 - 0
lib/tasks/zammad/package/install.rb

@@ -11,6 +11,10 @@ module Tasks
           "#{super} /path/to/package.zpm"
         end
 
+        def self.description
+          'Install a Zammad addon package'
+        end
+
         ARGUMENT_COUNT = 1
 
         def self.task_handler

+ 4 - 0
lib/tasks/zammad/package/list.rb

@@ -7,6 +7,10 @@ module Tasks
     module Package
       class List < Tasks::Zammad::Command
 
+        def self.description
+          'List all installed Zammad addon packages'
+        end
+
         def self.task_handler
           ::Package.all.each do |package|
             puts package.name.ljust(20) + package.vendor.ljust(20) + package.version

+ 4 - 0
lib/tasks/zammad/package/migrate.rb

@@ -10,6 +10,10 @@ module Tasks
       # This is enforced by Tasks:Zammad::Command which prevents command chaining.
       class Migrate < Tasks::Zammad::Command
 
+        def self.description
+          'Execute all pending Zammad addon package migrations'
+        end
+
         def self.task_handler
           puts 'Executing all pending package migrations...'
           ::Package.migration_execute

+ 4 - 0
lib/tasks/zammad/package/reinstall.rb

@@ -11,6 +11,10 @@ module Tasks
           "#{super} MyPackage"
         end
 
+        def self.description
+          'Reinstall an installed Zammad addon package'
+        end
+
         ARGUMENT_COUNT = 1
 
         def self.task_handler

+ 5 - 0
lib/tasks/zammad/package/reinstall_all.rb

@@ -6,6 +6,11 @@ module Tasks
   module Zammad
     module Package
       class ReinstallAll < Tasks::Zammad::Command
+
+        def self.description
+          'Reinstall all installed Zammad addon packages'
+        end
+
         def self.task_handler
           puts 'Reinstalling all packages...'
           ::Package.find_each do |package|

+ 4 - 0
lib/tasks/zammad/package/uninstall.rb

@@ -11,6 +11,10 @@ module Tasks
           "#{super} MyPackage"
         end
 
+        def self.description
+          'Uninstall a Zammad addon package'
+        end
+
         ARGUMENT_COUNT = 1
 
         def self.task_handler

+ 1 - 1
lib/tasks/zammad/search_index_es.rake

@@ -58,7 +58,7 @@ namespace :zammad do
       end
     end
 
-    desc 'Refresh all search indexes...'
+    desc 'Refresh all search indexes'
     task refresh: %i[zammad:searchindex:version_supported] do
       print 'Refreshing all indexes... '
       SearchIndexBackend.refresh

+ 11 - 0
spec/lib/tasks/zammad/command_spec.rb

@@ -0,0 +1,11 @@
+# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
+
+require 'rails_helper'
+
+RSpec.describe Tasks::Zammad::Command do
+  context 'when listing all commands' do
+    it 'rake finds zammad commands' do
+      expect(`bundle exec rake --tasks`).to include('zammad:package:reinstall_all')
+    end
+  end
+end