Sha256: 3430d9909f4669828856e98860cec2bda9ba829ca3b7edca4b3b1b9761b1164b

Contents?: true

Size: 632 Bytes

Versions: 2

Compression:

Stored size: 632 Bytes

Contents

module Clapton
  module TestHelper
    module Base
      require "execjs"

      def render_component(component, **kwargs)
        js = File.read(File.join(__dir__, "..", "javascripts", "dist", "components-for-test.js"))
        Dir.glob(Rails.root.join("app", "components", "**", "*.rb")).each do |file|
          js += Ruby2JS.convert(File.read(file), preset: true)
          js += "\n"
        end
        context = ExecJS.compile(js)
        html = context.eval("new #{component.name.camelize}(#{kwargs.to_json}).render")
        @page = Capybara.string(html)
      end

      def page
        @page
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
clapton-0.0.15 lib/clapton/test_helper/base.rb
clapton-0.0.14 lib/clapton/test_helper/base.rb