Tive uma série de testes falhando com erros como este:
ActiveRecord::RecordInvalid:
Validation failed: Name has already been taken
e parece que este é o problema:
fab!(:the_group) { Fabricate(:group) }
Todos esses funcionaram até recentemente. Vi isso em outro plugin em que estava trabalhando e, acho, consegui definir um nome aleatório para mim, mas estes funcionaram, acredito, até ontem.
Algo mudou, ou fiz algo bobo por engano?
EDIT: Com a ajuda de Claude e do Discourse Helper Bot, tentei substituir o fab acima por
Fabricator(:the_group) do
name { sequence(:group_name) { |i| "Test Group #{i}" } }
end
mas não consegui descobrir como fazer isso.
Então usei
let(:the_group) { Fabricate(:group) }
em vez do !fab acima e isso reduziu o número de falhas de 12 para 1, mas ainda está falhando com
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
Não acho que nada em torno desses testes tenha mudado desde ontem às 10h30 CDT, quando fiz o último commit.
Reverti para um commit anterior e agora falha com
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
e executei novamente sem fazer nenhuma alteração e agora falha em
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
Então parece que está falhando em um teste, e é aleatório?