On Wed, Oct 20, 2010 at 11:19 PM, David Chelimsky <dchelim...@gmail.com>wrote:
> On Oct 20, 2010, at 9:56 PM, oren wrote: > > > I am specing a sinatra app. > > > > it "should send non-valid user to /login" do > > get '/' > > last_response.headers['Location'].should == '/reports' > > end > > > > this is working fine but I would like to know how to convert it to the > > new syntax or if there is a better way to do that. > > > > before(:each) { get '/' } > > subject { last_response } > > > > its(:status) {should == 302} > > require 'ap' > > its(:headers) {should include('/login')} > > This is not "the new syntax." It is simply an alternate syntax that has > been around for over a year and works well for a small subset of things you > might want to specify like initial state: > > describe Array do > context "when first created" do > subject { Array.new } > its(:length) { should eq(0) } > end > end > > It is not in any way an all-purpose replacement for more specifying > _behaviour_. > > > another question: > > > > it "should send valid user to /reports" do > > get '/', { 'HTTP_AUTHORIZATION' => 'Basic > > c2cvbGFuOmFBITExMQ==' } > > last_response.headers['Location'].should == '/reports' > > end > > > > when i debug my method I see that request.env["HTTP_AUTHORIZATION"] is > > nil, > > so the header was not sent with it. how to mock it? > I think you are passing your headers in as the request params. I believe you're using rack-test under the covers and the api for #get is: get(uri, params = {}, env = {}, &block) I think env is where you want your headers. so maybe: get '/', {}, { 'HTTP_AUTHORIZATION' => 'Basic c2cvbGFuOmFBITExMQ==' } I haven't written a Sinatra app in a while, but I hope this helps, Zach > > I don't have any personal experience w/ Sinatra yet (I know, I know, but > there are only so many hours in a day), so I'll leave it to someone else to > comment on how to approach the Sinatra questions. > > Cheers, > David > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > -- Zach Dennis http://www.continuousthinking.com (personal) http://www.mutuallyhuman.com (hire me) http://ideafoundry.info/behavior-driven-development (first rate BDD training) @zachdennis (twitter)
_______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users