On 22 Jul 2014, at 19:05, Aaron Kromer <[email protected]> wrote:
> This is one reason I personally dislike this style of specs combined with AR
> hooks. It makes more difficult than necessary to troubleshoot.
>
> As @javix pointed out, line 20 has:
>
> it { should be_valid }
> At this point the subject is what is defined on line 11:
>
> subject { @user }
> The ivar @user is defined in the before block on line 5:
>
> before do
> @user = User.new(name: "Example User", email: "[email protected]",
> password: "foobar", password_confirmation: "foobar")
>
> end
> However, when the spec on line 91 runs it calls save in the before block on
> line 87:
>
> before { @user.save }
> By using save! it raises an error and confirms that the model was invalid.
> Here's the error:
>
> Failure/Error: before { @user.save! }
> ActiveRecord::RecordInvalid:
> Validation failed: Password confirmation doesn't match Password
> Dumping the attributes of @user shows there is a mismatch in the password:
>
> {
> password: "foobar",
> password_confirmation: "mismatch",
> }
> This is happening because there is an additional before hook that runs
> defined on line 87. On a visual inspection, it doesn't appear that it is
> initially related because the indenting is out of sync. The end on line 84
> really applies to the describe on line 81.
>
>
>
> On Tue, Jul 22, 2014 at 10:13 AM, Javix <[email protected]> wrote:
>
>
> On Tuesday, July 22, 2014 8:23:07 AM UTC+2, Roelof Wobben wrote:
> Hello,
>
> I do still follow the Hartl tutorial.
> Am at chapter 6 and according to the manual the test schould be successfull
> but I see these error messages:
>
> Failures:
>
>
>
>
>
>
>
> 1) User when password doesn't match confirmation return value of
> authenticate method with valid password
>
>
> Failure/Error: it { should eq found_user.authenticate(@user.password) }
>
>
>
> NoMethodError:
>
>
>
> undefined method `authenticate' for nil:NilClass
>
>
>
> # ./spec/models/user_spec.rb:91:in `block (5 levels) in <top
> (required)>'
>
> You can find my code here :
> https://github.com/roelof1967/sample_app_nutrious/tree/chapter_six
>
> Roelof
>
> @Aaron: as of his gemfile he uses 4.1.4. I don't think save! could solve
> that because the previous example pass (line 20):
>
> it { should be_valid }
>
> The problem is that he is callilng authenticate on Nil.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "rspec" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rspec/09a1007d-9811-4548-80f9-e5b0f3f33a17%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
>
@Aaron: Well done ! I haven't pick up the indention of do-end block.
> --
> You received this message because you are subscribed to a topic in the Google
> Groups "rspec" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/rspec/3j266FPKVy4/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rspec/CAKCESdi5aX6_4_8Fguvd0WNA3K%3DrCZy622EoiTHz9G6kK%2BAG%2BA%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"rspec" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/rspec/2C27D581-A0D1-4EFF-880B-AB122099CACE%40gmail.com.
For more options, visit https://groups.google.com/d/optout.