Похоже, мне нужно напрямую переопределить мой механизм аутентификации в Before do ... end
-блоке
Итак, я получил hooks.rb
в файле features/support/
, перезаписывающий мой logged_in?
и метод current_user
.
Before do
MySinatraApplicationClass.class_eval do
helpers do
def logged_in?
return true
end
def current_user
# This returns a certain Username usually stored
# in the session, returning it like
# that prohibits different user logins, but for
# now this is enough for me
"Walter"
end
end
end
end
Единственное, о чем мне нужно было позаботиться, это то, что никакие другие действия в приложении не читаются напрямую из session
, а скорее используют эти помощники.
К сожалению, я думаю, что этот способ обработки приложений Sinatra на основе сеансов через Cucumber уже описан где-то еще, и я просто подумал , что моя проблема в другом .