diff options
author | Gibheer <gibheer@gmail.com> | 2012-11-29 19:44:12 +0100 |
---|---|---|
committer | Gibheer <gibheer@gmail.com> | 2012-11-29 19:44:12 +0100 |
commit | 8c7eed073c7afa8f432da84b4cf96bffd3ba2656 (patch) | |
tree | e5a57f33139328e71954e31ad21d13de8532fd85 /spec/unit | |
parent | 2762f68363d7578ca02b77e4248496c62873d93c (diff) |
added custom parameter
Diffstat (limited to 'spec/unit')
-rw-r--r-- | spec/unit/request/parameter/[]_spec.rb | 56 | ||||
-rw-r--r-- | spec/unit/request/parameter/custom_spec.rb | 18 |
2 files changed, 74 insertions, 0 deletions
diff --git a/spec/unit/request/parameter/[]_spec.rb b/spec/unit/request/parameter/[]_spec.rb new file mode 100644 index 0000000..1136eae --- /dev/null +++ b/spec/unit/request/parameter/[]_spec.rb @@ -0,0 +1,56 @@ +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 diff --git a/spec/unit/request/parameter/custom_spec.rb b/spec/unit/request/parameter/custom_spec.rb new file mode 100644 index 0000000..9c720d2 --- /dev/null +++ b/spec/unit/request/parameter/custom_spec.rb @@ -0,0 +1,18 @@ +require 'spec_helper' + +describe Zero::Request::Parameter, '#custom' do + subject { Zero::Request::Parameter.new(env) } + let(:env) { EnvGenerator.get('/foo') } + + it 'returns a set custom parameter' do + subject['foo'] = 'bar' + expect(subject.custom['foo']).to eq('bar') + end + + it 'returns the latest set value' do + subject['foo'] = 'first' + subject['foo'] = 'latest' + + expect(subject.custom['foo']).to eq('latest') + end +end |