require 'spec_helper' describe ArtTypograph::Request do def req ArtTypograph::Request end its(:default_options) { should be_kind_of(Hash) } context 'on initialize' do it 'has default options' do req.new.options.should == req.prepare_options(req.default_options) end context 'with valid options' do let(:options) { {:use_br => true} } subject { req.new(options) } it 'merges default options' do subject.options.should include(:use_br, :use_p, :entity_type, :max_nobr) end it 'processes options' do subject.options[:use_br].should == 1 subject.options[:use_p].should == 1 subject.options[:entity_type].should == 3 end end context 'with invalid value' do it 'raises an argument error' do expect { req.new(:use_br => '1') }.to raise_error(ArgumentError) end end end context '#process' do subject { req.new } let(:processed_text) { "

text

" } let(:request) { stub_http_request(:post, req.url.to_s) } it 'returns processed text when request was successful' do request.to_return(:body => %|#{processed_text}|, :status => 200) subject.process("text").should == processed_text end it 'returns original text if there was an error' do request.to_return(:status => 500) subject.process("text").should == "text" end end end