57 lines
1.3 KiB
Ruby
57 lines
1.3 KiB
Ruby
|
require 'spec_helper'
|
||
|
|
||
|
describe Zero::Request::Parameter, '#[]' do
|
||
|
subject { Zero::Request::Parameter.new(env) }
|
||
|
|
||
|
context 'without parameters' do
|
||
|
let(:env) { EnvGenerator.get('/foo') }
|
||
|
|
||
|
it 'returns the custom parameter' do
|
||
|
subject['foo'] = 'bar'
|
||
|
expect(subject['foo']).to eq('bar')
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'with query parameters' do
|
||
|
let(:env) { EnvGenerator.get('/foo?foo=bar') }
|
||
|
|
||
|
it 'returns the query parameter' do
|
||
|
expect(subject['foo']).to eq('bar')
|
||
|
end
|
||
|
|
||
|
it 'returns the custom parameter' do
|
||
|
subject['foo'] = 'baz'
|
||
|
expect(subject['foo']).to eq('baz')
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'with payload parameters' do
|
||
|
let(:env) do
|
||
|
EnvGenerator.post('/foo', {
|
||
|
:input => 'foo=bar', 'CONTENT_TYPE' => 'multipart/form-data'
|
||
|
})
|
||
|
end
|
||
|
|
||
|
it 'returns the payload value' do
|
||
|
expect(subject['foo']).to eq('bar')
|
||
|
end
|
||
|
|
||
|
it 'returns the custom parameter' do
|
||
|
subject['foo'] = 'baz'
|
||
|
expect(subject['foo']).to eq('baz')
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'with query and payload parameters' do
|
||
|
let(:env) do
|
||
|
EnvGenerator.post('/foo?foo=baz', {
|
||
|
:input => 'foo=bar', 'CONTENT_TYPE' => 'multipart/form-data'
|
||
|
})
|
||
|
end
|
||
|
|
||
|
it 'returns the payload parameter' do
|
||
|
expect(subject['foo']).to eq('bar')
|
||
|
end
|
||
|
end
|
||
|
end
|