Save syndication sources to posts

This commit is contained in:
2023-01-29 16:54:34 +11:00
parent 37932ea4ad
commit 2d371812f5
17 changed files with 231 additions and 10 deletions

View File

@@ -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

View 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) }