Sha256: 10d1fa3b35b86abf9846d8c6e6ca4a189abc44f560a2eef1b863b20b9e43553b
Contents?: true
Size: 1.6 KB
Versions: 4
Compression:
Stored size: 1.6 KB
Contents
require 'spec_helper' require 'expose_query' describe ExposeQuery::ActiveRecordQueryStrategy do let(:inflector) do double("Inflector", parameter: 'model_id', plural?: plural, plural: 'models', singular: 'model') end let(:model) { double('Model', new: nil) } let(:params) { Hash.new } let(:request) { double('request', post?: false, put?: false, patch?: false) } let(:config) { double('config', options: {}) } let(:controller_class) do double('controller_class', _decent_configurations: Hash.new(config)) end let(:controller) { double('controller', params: params, request: request, class: controller_class) } let(:strategy) { DecentExposure::ActiveRecordStrategy.new(controller, inflector) } before do strategy.model = model strategy.inflector = inflector end describe '#resource' do let(:plural) { true } let(:scoped) { double('Scoped') } subject { strategy.resource } context 'with ActiveRecord 3' do before do stub_const('ActiveRecord::VERSION::MAJOR', 3) end it 'returns the scoped collection' do expect(model).to receive(:scoped).and_return(scoped) expect(controller).to receive(:apply_filters).and_return(scoped) expect(subject).to eq(scoped) end end context 'with ActiveRecord 4' do before do stub_const('ActiveRecord::VERSION::MAJOR', 4) end it 'returns the scoped collection' do expect(model).to receive(:all).and_return(scoped) expect(controller).to receive(:apply_filters).and_return(scoped) expect(subject).to eq(scoped) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems