Hi colin
On small help
below is the code or checking for uniquness
def test_check_for_uniqueness_name
post=County.new(:name=>"mynamed",:description=>"mydesc",:region_id=>"3")
assert post.valid?, "post was not valid #{post.errors.inspect}"
post1=County.new(:name=>"sample",:description=>"mydesc",:region_id=>"4")
assert post1.valid?, post1.errors.full_messages
assert_not_nil post1.errors.on(:name)
end
when i run unit testing
1) Failure:
test_check_for_uniqueness_name(CountyTest) [test/unit/county_test.rb:26]:
<nil> expected to not be nil.
what i am making mistake
can you please guide me
--
Karthik.k
Mobile - +91-9894991640
On Sat, Aug 1, 2009 at 4:56 PM, karthik k <[email protected]> wrote:
> Hi Colin
>
> I got it
>
> we need to give like below
>
> assert post.update_attributes(:name=>"") ,post.errors.full_messages
>
>
> --
> Karthik.k
> Mobile - +91-9894991640
>
> On Sat, Aug 1, 2009 at 4:44 PM, karthik k <[email protected]> wrote:
>
>> My Question
>>
>> def test_check_for_validity
>> post=County.new(:name=>"
>> myname",:description=>"mydesc")
>> assert post.save
>> end
>>
>> above is the method and when i run unit test it is saying as
>>
>> 1) Failure:
>> test_check_for_validity(CountyTest) [/test/unit/county_test.rb:10]:
>> <false> is not true.
>>
>> what does it say i cannot under stand
>>
>> please help
>>
>> your answer
>>
>> It is saying that the post.save failed (the assert is expecting true,
>> so false makes the test fail). Possibly your validations are failing.
>> If you put the line
>>
>> assert post.valid?, post.errors.full_messages
>>
>> before the save this will check the item for validity before
>> attempting to save it and show you any errors from validations (I
>> think).
>>
>> Colin
>>
>>
>> My question
>>
>> > hi
>> > i am updating the data in unit testing
>> >
>> > def test_for_update
>> > post=counties(:one)
>> > assert post.valid?, post.errors.full_messages
>> > assert post.update_attributes(:name=>"")
>> > end
>> >
>> >
>> > name should not be empty but as you said i displayed
>> >
>> > "assert post.valid?, post.errors.full_messages"
>> >
>> > But i am not getting error message in assert but getting error message
>>
>>
>>
>> On Sat, Aug 1, 2009 at 4:26 PM, Colin Law <[email protected]> wrote:
>>
>>>
>>> 2009/8/1 karthik k <[email protected]>:
>>> > hi Colin
>>> >
>>> > 1) Failure:
>>> > test_for_update(CountyTest) [test/unit/county_test.rb:19]:
>>> > Name has already been taken.
>>> > <false> is not true.
>>> >
>>> >
>>>
>> your answer
>>
>>>
>>> Could you reply with your comments inserted into the existing email
>>> please rather than at the top, it makes it much easier to follow the
>>> thread, so your comment above should have been after my bit asking for
>>> the error.
>>>
>>> Have you got a validates_uniqueness_of :name? I think the error means
>>> there are two with the same name. If you can't see the problem post
>>> your counties.yml.
>>>
>>> Earlier it was suggested that you look at the rails guides Getting
>>> Started and Testing. Have you done that and do you understand all
>>> that is in them? (Or at least understand most of it)
>>>
>>> Colin
>>>
>>>
>>
>> Yes
>> i have validates_uniqueness_of :name
>>
>> what i need to do
>> please help
>>
>> karthik.k
>>
>
>
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---