Default columns in fixtures
January 3rd 2008Ever find yourself writing out the same old column names in fixtures just so your tests will work? Ever wonder if there’s a better way? Well there is!
Fixtures, now with NEW default columns!
All you need to do is bung a method in your test/test_helper.rb file that looks like this:
def default_columns columns = <<END_OF_STRING created_at: 1 Jan 2007 created_by: 1 updated_at: 1 Jan 2007 updated_by: 1 lock_version: 1 END_OF_STRING end
Now, in each fixture that requires the default columns put this at the top:
<% require "#{RAILS_ROOT}/test/test_helper.rb" %>
And then for each fixture bung in this inline code:
one: id: 1 name: MyString <%= default_columns %>
Voila! No more repeating yourself with stupid columns! Hooray!
Note: spacing is important in yaml files – so make sure you put the <%= default_columns %> in an appropriate place