Sha256: 0c18e54173b70bf7d4cf5336b4e6092d1ce9ac84f837576aec0bb231e4124b5e

Contents?: true

Size: 1.05 KB

Versions: 6

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true
# encoding: utf-8

require "spec_helper"

describe Mongoid::Attributes::Projector do
  Dir[File.join(File.dirname(__FILE__), 'projector_data', '*.yml')].sort.each do |path|
    context File.basename(path) do
      specs = YAML.load(File.read(path))

      specs.each do |spec|
        context spec['name'] do

          if spec['pending']
            pending spec['pending'].to_s
          end

          let(:projection) do
            spec['projection']
          end

          let(:projector) do
            Mongoid::Attributes::Projector.new(projection)
          end

          spec.fetch('queries').each do |query_spec|
            context query_spec.fetch('query').inspect do
              let(:query) { query_spec['query'] }

              context 'attribute_or_path_allowed?' do
                it "is #{query_spec.fetch('allowed')}" do
                  projector.attribute_or_path_allowed?(query).should be query_spec['allowed']
                end
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mongoid-7.3.5 spec/mongoid/attributes/projector_spec.rb
mongoid-7.3.4 spec/mongoid/attributes/projector_spec.rb
mongoid-7.3.3 spec/mongoid/attributes/projector_spec.rb
mongoid-7.3.2 spec/mongoid/attributes/projector_spec.rb
mongoid-7.3.1 spec/mongoid/attributes/projector_spec.rb
mongoid-7.3.0 spec/mongoid/attributes/projector_spec.rb