Sha256: 181614be7c7fa3a1e2edb635e00bee2794d2a949088ceb3df065838ed4df098d
Contents?: true
Size: 1.35 KB
Versions: 3
Compression:
Stored size: 1.35 KB
Contents
# frozen_string_literal: true require "dry/operation" RSpec.describe "Operation / Extensions", :app_integration do before do @env = ENV.to_h allow(Hanami::Env).to receive(:loaded?).and_return(false) end after { ENV.replace(@env) } specify "Transaction interface is made available automatically" do with_tmp_directory(Dir.mktmpdir) do write "config/app.rb", <<~RUBY require "hanami" module TestApp class App < Hanami::App end end RUBY write "app/operation.rb", <<~RUBY module TestApp class Operation < Dry::Operation end end RUBY write "slices/main/operation.rb", <<~RUBY module Main class Operation < Dry::Operation end end RUBY write "db/.keep", "" write "app/relations/.keep", "" write "slices/main/db/.keep", "" write "slices/main/relations/.keep", "" ENV["DATABASE_URL"] = "sqlite::memory" ENV["MAIN__DATABASE_URL"] = "sqlite::memory" require "hanami/prepare" app = TestApp::Operation.new main = Main::Operation.new expect(app).to respond_to(:transaction) expect(app.rom).to be TestApp::App["db.rom"] expect(app.rom).not_to be Main::Slice["db.rom"] expect(main.rom).to be Main::Slice["db.rom"] end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
hanami-2.2.1 | spec/integration/operations/extension_spec.rb |
hanami-2.2.0 | spec/integration/operations/extension_spec.rb |
hanami-2.2.0.rc1 | spec/integration/operations/extension_spec.rb |