Вход с рубином / огурцом - PullRequest
       12

Вход с рубином / огурцом

0 голосов
/ 28 января 2011

Я новичок в Ruby и Cucumber, но я использую его для проверки функциональности высокого уровня в моем веб-приложении. У меня в основном есть представление о том, как это работает, но я борюсь с одним битом. Я использую фон в файле сценария, чтобы сказать: если пользователь вошел в систему, и это шаги:

Given /^I am logged in as "([^"]*)" with password "([^"]*)"$/ do |user, password|
  visit "http://www.website.com:82/login"

  #Is there a 'logout'?
  if (response_body contain('Login')) then
    fill_in "email", :with => user
    fill_in "password", :with => password
    click_button "Login"
  end
  response_body.should contain("Your Accounts")
end

У меня проблемы с if. Я хочу сказать «Если вы не вошли в систему, войдите в систему», но не уверен, использовать ли объект webrat (если это то, чем является response_body) или что-то еще!

Спасибо

Mike

Ответы [ 2 ]

1 голос
/ 31 января 2011

Я бы, наверное, пошел с чем-то вроде (кажется, мне немного понятнее, чем бросать условные выражения в огурец):

Given /^I am logged in as "([^"]*)" with password "([^"]*)"$/ do |user, password|
  visit destroy_session_path # make sure you are logged out

  visit "http://www.website.com:82/login"
  fill_in "email", :with => user
  fill_in "password", :with => password
  click_button "Login"

  response_body.should contain("Your Accounts")
end
0 голосов
/ 28 января 2011

Итак, я изменил это на это, и это сработало:

Given /^I am logged in as "([^"]*)" with password "([^"]*)"$/ do |user, password|
  visit "http://www.website.com:82/login"

  #Is there a 'logout'?
  if (response_body.match('Login')) then
    fill_in "email", :with => user
    fill_in "password", :with => password
    click_button "Login"
  end
  response_body.should contain("Your Accounts")
end
...