Validations problem

Hello champs,

I have a validation in model ABC and that is:- validates_presence_of :employee_id Now the record should not be saved without the presence of employee_id right. But now i wrote a test case like this:-

def test_should_not_save_abcModel_without_employee_id   abc = Abc.new(:name => "ABC Group")   assert abc.save, "Saving the record without employee_id" end

But still this record gets saved in database. Why so .. ? What i am doing wrong here.. My database migrations for employee_id column as well:-

t.integer :employee_id, :null => false

it is impossible!!

there is something wrong with model or database

Anthony wrote:

it is impossible!!

Hey i know that is impossible.. That's why i am asking you people.. i have posted my migrations and validations here as well.. Can you please look at them and tell me ..

In which file is this test written and how are you running it?

Also, these kinds of tests are not very useful because they try to test the framework, ActiveRecord in this case.

Tests should target the intended behavior of your application.

You should remove :null => false. With it, you have a 0 in any new record, so validates_presence_of :employee_id will return true.

Are you somehow inserting a blank in your model with a before_save or similar callback? What is the value of the column in the created record? Are you the only one with access to the DB tables? Could somebody have changed the column to allow now null values?