works! thanks so much for not only solving it but also mentioning rack- test. I see the get method here: http://github.com/brynary/rack-test/blob/master/lib/rack/test.rb
but it's not clear how to use that (I guess it depends on your experience), I wish there was a usage/sample section.. On Oct 21, 1:10 pm, Zach Dennis <zach.den...@gmail.com> wrote: > 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-us...@rubyforge.org > >http://rubyforge.org/mailman/listinfo/rspec-users > > -- > Zach > Dennishttp://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-us...@rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users