Sha256: bca7f04a9faaa90cca2e28980d9d4d383b6b171d3a2a2d1958c4182eca015551
Contents?: true
Size: 1.4 KB
Versions: 2
Compression:
Stored size: 1.4 KB
Contents
require 'spec_helper' describe GrapeApiary::Routes do include_context 'configuration' before do GrapeApiary.config do |config| config.host = host config.name = name config.description = description config.resource_exclusion = [:admin] end GrapeApiary.config.request_headers = [ { 'Accept-Charset' => 'utf-8' }, { 'Connection' => 'keep-alive' } ] GrapeApiary.config.response_headers = [ { 'Content-Length' => '21685' }, { 'Connection' => 'keep-alive' } ] end subject { GrapeApiary::Routes.new(SampleApi) } it 'exposes configuration settings' do GrapeApiary::Config::SETTINGS.each do |setting| expect(subject.send(setting)).to eq(GrapeApiary.config.send(setting)) end end it 'exposes the raw routes of the given api' do expect(subject.routes).to eq(SampleApi.routes) end context '#resources' do let(:unique_routes) { subject.routes.map(&:route_name).uniq } let(:included_routes) do unique_routes.reject do |name| GrapeApiary.config.resource_exclusion.include?(name.to_sym) end end it 'aggregates routes into resources' do expect(subject.resources.first).to be_a(GrapeApiary::Resource) end it 'excluded resources based on configuration' do expect(subject.resources.map(&:key)).to eq(included_routes) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
grape-apiary-0.0.2 | spec/grape-apiary/routes_spec.rb |
grape-apiary-0.0.1 | spec/grape-apiary/routes_spec.rb |