spec/support/gitlab_helper.rb (20 lines of code) (raw):

# frozen_string_literal: true # Helpers for working with the `gitlab` client gem module GitlabHelper # Simulate a `Gitlab::Error::Error` class # # klass - Gitlab::Error::Error class object, or a Symbol of an Error class # code - Status code (default: 500) # message - Status message: (default: 'Something went wrong') def gitlab_error(klass, code: 500, message: 'Something went wrong') error = double( response: double( code: code ), parsed_response: double( message: message ) ).as_null_object if klass.is_a?(Gitlab::Error::Error) klass.new(error) else Object.const_get("Gitlab::Error::#{klass}").new(error) end end end RSpec.configure do |config| config.include GitlabHelper end