Sinatra アプリケーションを作成するために BDD/TDD アプローチを行っています。認証を追加したいと思います。現在、次のような機能ファイルがあります。
Scenario: Unauthenticated redirects to login page
Given I am not logged in
When I go to the homepage
Then I should be redirected to the login page
私の手順は次のようになります。
Given /^I am not logged in$/ do
# not sure how to ensure this
end
When /^I go to the homepage$/ do
visit '/'
end
Then /^I should be redirected to the login page$/ do
current_path.should == '/auth/login'
end
私はすでにアプリをセットアップしていますsupport/env.rb
:
require 'capybara/cucumber'
Capybara.app = MySintraApp
そして、私のアプリは次のようになります。
class MySinatraApp < Sinatra::Base
get '/' do
redirect '/auth/login' #todo: unless logged_in?
haml :index
end
get '/auth/login' do
haml :login
end
end
「ログインしていない」ことを確認する手順を実装するにはどうすればよいですか? BDD/TDD スタイルの方法でログイン機能を実装するにはどうすればよいですか?