2020-02-05 16:09:02 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
FactoryBot::SyntaxRunner.class_eval do
|
|
|
|
include RSpec::Mocks::ExampleMethods
|
2022-05-26 02:08:37 -04:00
|
|
|
include StubMethodCalls
|
2021-04-22 17:09:53 -04:00
|
|
|
|
|
|
|
# FactoryBot doesn't allow yet to add a helper that can be used in factories
|
|
|
|
# While the fixture_file_upload helper is reasonable to be used there:
|
|
|
|
#
|
|
|
|
# https://github.com/thoughtbot/factory_bot/issues/564#issuecomment-389491577
|
|
|
|
def fixture_file_upload(*args, **kwargs)
|
|
|
|
Rack::Test::UploadedFile.new(*args, **kwargs)
|
|
|
|
end
|
2020-02-05 16:09:02 -05:00
|
|
|
end
|
2021-02-08 10:09:38 -05:00
|
|
|
|
|
|
|
# Patching FactoryBot to allow stubbing non AR models
|
|
|
|
# See https://github.com/thoughtbot/factory_bot/pull/1466
|
|
|
|
module Gitlab
|
|
|
|
module FactoryBotStubPatch
|
|
|
|
def has_settable_id?(result_instance)
|
|
|
|
result_instance.class.respond_to?(:primary_key) &&
|
|
|
|
result_instance.class.primary_key
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
FactoryBot::Strategy::Stub.prepend(Gitlab::FactoryBotStubPatch)
|