Estou desenvolvendo contra a versão stable e acabei de descobrir que não consigo mais executar testes de backend. Não apenas os meus testes, mas também os de plugins padrão. Todos eles falham com a mesma razão.
$ bin/rspec plugins/discourse-subscriptions/
Caminho da especificação do plugin detectado, definindo LOAD_PLUGINS para 1
Ocorreu um erro ao carregar rails_helper.
Failure/Error: SeedFu.seed
RuntimeError:
Atributo 'chat_email_frequency' não declarado para enum em UserOption. Enums devem ser suportados por uma coluna de banco de dados ou declarados com um tipo explícito via `attribute`.
# ./spec/rails_helper.rb:139:in `<top (required)>'
Nenhum exemplo encontrado.
Terminado em 0.00004 segundos (arquivos levaram 3.45 segundos para carregar)
0 exemplos, 0 falhas, 1 erro ocorreu fora dos exemplos
Faz um tempo que não executo os testes localmente, pois estava ocupado com coisas de frontend para o meu novo plugin. Então não percebi quando quebrou. Eu não tenho o problema quando executo um teste arbitrário do discourse.
Então, de acordo com o erro, o banco de dados de teste está faltando uma coluna. Ao inspecionar, ela realmente está faltando. Eu já executei RAILS_ENV=test bin/rails db:migrate:reset para reconstruir o banco de dados de teste, mas ele termina com o mesmo resultado.
Parece que algumas migrações para o plugin de chat não estão sendo incluídas. Mas não consigo descobrir o porquê.
O banco de dados de desenvolvimento tem essas colunas.