У меня только что провалился целый набор тестов с ошибками вроде этой:
ActiveRecord::RecordInvalid:
Validation failed: Name has already been taken
Кажется, проблема здесь:
fab!(:the_group) { Fabricate(:group) }
Ранее все это работало. Я видел подобное в другом плагине, над которым работал, и, кажется, сам придумал задать случайное имя, но эти тесты работали, насколько я помню, ещё вчера.
Что-то изменилось, или я по ошибке сделал что-то глупое?
РЕДАКТИРОВАНИЕ: С помощью Claude и бота-помощника Discourse я попытался заменить вышеуказанный fab на
Fabricator(:the_group) do
name { sequence(:group_name) { |i| "Test Group #{i}" } }
end
но так и не до конца разобрался, как это сделать.
Затем я использовал
let(:the_group) { Fabricate(:group) }
вместо предыдущего !fab, и это сократило количество провалов с 12 до 1, но всё ещё падает с ошибкой:
1) Pfaffmanager::ServersController servers admin can get servers owned by a group
Failure/Error: let(:the_group) { Fabricate(:group) }
ActiveRecord::RecordInvalid:
Validation failed: Name has already been taken
Не думаю, что что-то вокруг этих тестов менялось с 10:30 утра по центральному времени (CDT) вчерашнего дня, когда я сделал последний коммит.
Я откатился к более раннему коммиту, и теперь он падает с ошибкой:
1) Pfaffmanager::ServersController servers includes groups that the user is in
Failure/Error: let(:the_group) { Fabricate(:group) }
ActiveRecord::RecordInvalid:
Validation failed: Name has already been taken
Я запустил его снова без каких-либо изменений, и теперь он падает на:
1) Pfaffmanager::ServersController servers can update group id if group owner
Failure/Error: let(:the_group) { Fabricate(:group) }
ActiveRecord::RecordInvalid:
Validation failed: Name has already been taken
Получается, что падает один тест, и это случайно?