lib/rspec/helpers.rb in external_services-0.2.3 vs lib/rspec/helpers.rb in external_services-0.2.4
- old
+ new
@@ -18,11 +18,11 @@
# rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity
def describe_external_service_api(object:, api_name:, **kwargs, &blk)
action_class = kwargs[:action_class] || "ExternalServices::ApiActions::#{api_name.to_s.camelize}".constantize
- methods = [:create, :update, :destroy]
+ methods = %i[create update destroy]
methods -= [kwargs[:except]].flatten if kwargs[:except]
methods &= [kwargs[:only]].flatten if kwargs[:only]
describe action_class.to_s do
before :all do
@@ -66,13 +66,11 @@
if :destroy.in? methods
it 'creates action on delete' do
@api_object.send("#{@id_key}=", SecureRandom.hex)
@api_object.save
- if @api_object.respond_to?(:descendants)
- @api_object.reload.descendants.each(&:delete)
- end
+ @api_object.reload.descendants.each(&:delete) if @api_object.respond_to?(:descendants)
@api_object.destroy
expect_api_action_on_destroy(@api_object)
end
end
@@ -115,10 +113,10 @@
expectation = true if expectation.nil?
count = params.delete(:count)
data = params.delete(:data) || {}
actions = @action_class.where(params).select do |a|
- data.select { |k, v| a.data[k.to_s] != v }.empty?
+ data.reject { |k, v| a.data[k.to_s] == v }.empty?
end
if count
expect(actions.count).send expectation ? 'to' : 'not_to', eq(count)
else