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 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
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users