Fixtures в основном представляют экземпляры модели, которые находятся в базе данных.
Если вы посмотрите на верхнюю часть test / functions / team_controller_test.rb, вы увидите
setup do
@team = teams(:one)
end
, а затем при неудачном функциональном тесте вы получите
post :create, :team => @team.attributes
Вот что происходит: вы пытаетесь создать новую команду с теми же атрибутами, что и у "название команды: one". Поскольку оба имеют одинаковое имя (поскольку они имеют одинаковые атрибуты), проверка уникальности завершается неудачей.
Попробуйте заменить блок настройки на этот
setup do
@team = teams(:one)
@team.name = 'unique name'
end
Теперь вы создадите новую команду с именем «уникальное имя» (которого нет в базе данных в соответствии с графиками), и ваш тест пройдет.