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.

Reply via email to