aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/generators/plugin_test_helper.rb
blob: 528f8d88f9ad6c547683ff54e51da9f92ae2457b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# frozen_string_literal: true

require "abstract_unit"
require "tmpdir"

module PluginTestHelper
  def create_test_file(name, pass: true)
    plugin_file "test/#{name}_test.rb", <<-RUBY
      require 'test_helper'

      class #{name.camelize}Test < ActiveSupport::TestCase
        def test_truth
          puts "#{name.camelize}Test"
          assert #{pass}, 'wups!'
        end
      end
    RUBY
  end

  def plugin_file(path, contents, mode: "w")
    FileUtils.mkdir_p File.dirname("#{plugin_path}/#{path}")
    File.open("#{plugin_path}/#{path}", mode) do |f|
      f.puts contents
    end
  end
end