質問

私はワチールに新たなんだと私は私のテストでログインなっ少し問題を抱えてきました。私は選択の私の認証方法としてauthlogicを使用しています。ユーザー登録すると、彼らは、確認用のリンクを電子メールで送信されます。このリンクをクリックすると、自分のアカウントを確認し、彼らは、ログイン後、することができます。

私がいる問題は、ワチール?

を使用しているとき、私は、ユーザーの確認はどうすればよいです

私がこれまで持っています:

Given /I sign up/ do
  BROWSER.goto("http://localhost:3000/register")
  BROWSER.text_field(:id, "user_email").set("foo@bar.com")
  BROWSER.text_field(:id, "user_name").set("Foo Bar)
  BROWSER.text_field(:id, "user_password").set("foo bar")
  BROWSER.text_field(:id, "user_password_confirmation").set("foo bar")
  BROWSER.button(:id, "user_submit").click
end

Given /I am logged in via Watir/ do
  BROWSER.goto("http://localhost:3000/login")
  BROWSER.text_field(:id, "user_session_email").set("foo@bar.com)
  BROWSER.text_field(:id, "user_session_password").set("foo bar")
  BROWSER.button(:id, "user_session_submit").click
end

これは正しくフィールドを移入し、ユーザーが保存されます。今、私はそうのようなユーザーを確認してみます:

Given /I am confirmed/ do
  User.last.confirmed!
end

残念ながら、これは動作しません。私は何をしないのですか?

役に立ちましたか?

解決

私はwaitirに慣れていないんだけど、私は与えられた次のステップを想像します:

Given I have signed up
When I confirm my account
Then my account should be confirmed

あなたはどちらかあなたがそれらを打つことを期待し、実際にテスト確認されたように、コントローラは、ユーザが設定していることを確認するためにそのリンクを打っているリンクを追跡することができ

When /I confirm my account / do
  BROWSER.goto("the_url_from_the_email")
  # note that if you need to visit this link and click a button
  # or something you will need to code that part as well
end

これらの手順は、サインアップし、確認コードを行使するだろう。私はあなたがいずれかの缶詰のアカウントを返すために、他のテストのための前提条件として、「私が確認アカウントでログインしています考える」ステップを構成する、またはちょうどその同じステップを使用するためにこれらを使用すると思いたい場合だと思います。

わからない本当にしかし、あなたが本当に実際に間違って何が起こっているのか言っていないに述べたように、あなたの元の質問に答えます。私はそのUser.last.confirmedを引き受けます!保存されていない、またはあなたが期待するレコードを保存されていません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top