Sha256: 83cc0d7bf98ed66fcb5ed860c84d6b0499aefa37214edfab36a02042cfd6c680

Contents?: true

Size: 1.36 KB

Versions: 1

Compression:

Stored size: 1.36 KB

Contents

require "capybara/cuprite"
require "capybara/rspec"
require "database_cleaner/sequel"
require "rack/test"
require "spec_helper"

ENV["HANAMI_ENV"] = "test"

require "hanami/prepare"
require_relative "support/database"
require_relative "support/factory"

using Refinements::Pathnames

Capybara.app = Hanami.app
Capybara.server = :puma, {Silent: true}
Capybara.javascript_driver = :cuprite
Capybara.save_path = Hanami.app.root.join "tmp/capybara"
Capybara.register_driver :cuprite do |app|
  Capybara::Cuprite::Driver.new app,
                                browser_options: {"no-sandbox" => nil},
                                window_size: [1200, 800]
end

DatabaseCleaner[:sequel].strategy = :transaction

Pathname.require_tree SPEC_ROOT.join("support/factories")

RSpec.configure do |config|
  config.include Capybara::DSL, Capybara::RSpecMatchers, :web
  config.include Rack::Test::Methods, type: :request
  config.include Test::Database, :db
  config.include_context "with Hanami application", type: :request

  config.before :suite do
    Hanami.app.start :persistence
    DatabaseCleaner[:sequel].clean_with :truncation
  end

  config.prepend_before :each, :db do |example|
    DatabaseCleaner[:sequel].strategy = example.metadata[:js] ? :truncation : :transaction
    DatabaseCleaner[:sequel].start
  end

  config.append_after(:each, :db) { DatabaseCleaner[:sequel].clean }
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hanamismith-0.17.1 lib/hanamismith/templates/%project_name%/spec/hanami_helper.rb.erb