Я тестирую метод создания на моем контроллере.Создание нового объекта требует, чтобы другой объект уже существовал в базе данных.Поэтому мне нужен внешний ключ, прежде чем я смогу вставить что-нибудь.Я попытался
job = Job.create(:client_id => 1, :title => "Title", :date => Time.now,
:number_of_workers => 10, :venue => "Somewhere")
let(:valid_attributes) {
{
worker_id: 1,
job_id: 1,
salary: 120.0
}
}
let(:valid_session) { {} }
describe "GET index" do
it "assigns all hours ad @hours" do
hour = Hour.create! valid_attributes
get :index, {}, valid_session
expect(assigns(:hours)).to eq([hour])
end
end
Это работает, но это нарушает другой тест, так как моя таблица заданий теперь заполнена.Как я могу создать эту работу только в этом тесте?(Я посмотрел на gem database_cleaner, но мне нравится избегать этого)
Я попытался перенести создание задания в для каждой группы, но тогда переменная недоступна.