Использование предустановленных значений в базе (rspec rails testing)?
Добрый день, возник такой вопрос:
Как правильно в rails решается следующая задача:
Есть пользователь, у пользователя может быть только одна роль. Всего есть N возможных видов ролей.
Сейчас есть табличка roles с полями id, name
И соответственно users: id, name, role_id
В миграциях есть миграция которая заполняет таблицу roles предустановленными значениями: id и name.
Как мне сконфигурировать rspec rails что бы в при тестировании в таблице roles были заранее подготовленные значения? следует писать в seeds.rb? Что произойдет если мне нужно будет добавить новую роль когда база будет уже большой и ничего терять будет нельзя: думаю лучше написать миграцию с логикой, чем запиховать эти значения в seeds.rb? Какой тут rails way?
Правильно в данном случае именно seeds.rb а не миграция, причём не только для тестирования.
Только его грамотно написать нужно, чтобы не вставлял уже существующие значения. Тогда rake db:seed можно будет вызывать в любой момент времени без всяких опасений.