Save syndication sources to posts
This commit is contained in:
@@ -5,6 +5,10 @@ require_relative "helpers"
|
||||
DatabaseCleaner[:sequel].strategy = :transaction
|
||||
|
||||
RSpec.configure do |config|
|
||||
config.before :suite do
|
||||
DatabaseCleaner[:sequel].clean_with :truncation
|
||||
end
|
||||
|
||||
config.prepend_before :each, type: :db do |example|
|
||||
strategy = example.metadata[:js] ? :truncation : :transaction
|
||||
DatabaseCleaner[:sequel].strategy = strategy
|
||||
|
42
spec/support/db/factory.rb
Normal file
42
spec/support/db/factory.rb
Normal file
@@ -0,0 +1,42 @@
|
||||
require "rom-factory"
|
||||
require_relative "helpers"
|
||||
|
||||
module Test
|
||||
Factory = ROM::Factory.configure { |config|
|
||||
config.rom = Test::DB::Helpers.rom
|
||||
}
|
||||
|
||||
module DB
|
||||
class FactoryHelper < Module
|
||||
ENTITIES_MODULE_NAME = :Entities
|
||||
|
||||
attr_reader :slice_name
|
||||
|
||||
def initialize(slice_name = nil)
|
||||
@slice_name = slice_name
|
||||
|
||||
factory = entity_namespace ? Test::Factory.struct_namespace(entity_namespace) : Factory
|
||||
|
||||
define_method(:factory) do
|
||||
factory
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def entity_namespace
|
||||
return @entity_namespace if instance_variable_defined?(:@entity_namespace)
|
||||
|
||||
slice = slice_name ? Hanami.app.slices[slice_name] : Hanami.app
|
||||
slice_namespace = slice.namespace
|
||||
|
||||
@entity_namespace =
|
||||
if slice_namespace.const_defined?(ENTITIES_MODULE_NAME)
|
||||
slice_namespace.const_get(ENTITIES_MODULE_NAME)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Dir[SPEC_ROOT.join("support/factories/**/*.rb")].each { require(_1) }
|
Reference in New Issue
Block a user