Sha256: 2dc5a62ae4d3b797fd5765d84b93d09843c47fbee534adca6ca8a40ec5efe93a

Contents?: true

Size: 1.51 KB

Versions: 7

Compression:

Stored size: 1.51 KB

Contents

# frozen_string_literal: true

# Copy Blacklight test support material in place

# Need the requires here so we can call the generator from environment.rb
# as suggested above.
require 'rails/generators'
require 'rails/generators/base'
module Blacklight
  class TestSupport < Rails::Generators::Base
    source_root File.expand_path('../templates', __FILE__)

    desc <<-EOS
      Generate blacklight testing configurations for blacklight's own tests, or for blacklight plugins to use for testing
    EOS

    def alternate_controller
      copy_file "alternate_controller.rb", "app/controllers/alternate_controller.rb"

      routing_code = <<-EOF
    resource :alternate, controller: 'alternate', only: [] do
      concerns :searchable
    end
      EOF

      sentinel = /concern :searchable[^\n]+\n/

      inject_into_file 'config/routes.rb', routing_code, { after: sentinel, force: true }
    end

    def solr_document_config
      insert_into_file 'app/models/solr_document.rb', after: "include Blacklight::Solr::Document" do
        <<-EOF

            field_semantics.merge!(
              title: "title_tsim",
              author: "author_tsim",
              language: "language_ssim",
              format: "format")
        EOF
      end
    end

    def configure_action_mailer
      insert_into_file "config/environments/test.rb", after: "config.action_mailer.delivery_method = :test\n" do
        <<-EOF
         config.action_mailer.default_options = {from: 'no-reply@example.org'}
        EOF
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
blacklight-8.8.4 lib/generators/blacklight/test_support_generator.rb
blacklight-8.8.3 lib/generators/blacklight/test_support_generator.rb
blacklight-8.8.2 lib/generators/blacklight/test_support_generator.rb
blacklight-9.0.0.beta1 lib/generators/blacklight/test_support_generator.rb
blacklight-8.8.1 lib/generators/blacklight/test_support_generator.rb
blacklight-8.8.0 lib/generators/blacklight/test_support_generator.rb
blacklight-8.7.0 lib/generators/blacklight/test_support_generator.rb