Ecco una diff per integrarla nel spec/rails_helper di Discourse:
Tuttavia, fallisce sul mio ambiente di sviluppo basato su Docker:
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR: must be owner of database discourse_test
Questo perché maintain_test_schema! utilizza db:test:prepare e tenta di eliminare prima il database di test, al quale (credo) l’utente discourse nell’ambiente basato su Docker non ha accesso.
Qualcuno con un ambiente di sviluppo nativo potrebbe provarlo? Se funziona, forse vale la pena prendere in considerazione la modifica?
Ho applicato quella diff, ho eliminato i database e poi ho eseguito bin/rails db:create bin/rails db:migrate
poi ho scelto uno spec a caso
▶ bundle exec rspec spec/requests/permalinks_controller_spec.rb
Si è verificato un errore durante il caricamento di ./spec/requests/permalinks_controller_spec.rb.
Failure/Error: Group.find_by(id: id)
ActiveRecord::StatementInvalid:
PG::UndefinedTable: ERRORE: la relazione "groups" non esiste
LINE 8: WHERE a.attrelid = '"groups"'::regclass
^
# ./app/models/group.rb:532:in `lookup_group'
# ./app/models/group.rb:516:in `block in ensure_automatic_groups!'
# ./app/models/group.rb:515:in `each_key'
# ./app/models/group.rb:515:in `ensure_automatic_groups!'
# (eval):3:in `block (2 levels) in run_file'
# ./spec/rails_helper.rb:79:in `<top (required)>'
# ./spec/requests/permalinks_controller_spec.rb:3:in `require'
# ./spec/requests/permalinks_controller_spec.rb:3:in `<top (required)>'
# ------------------
# --- Causato da: ---
# PG::UndefinedTable:
# ERRORE: la relazione "groups" non esiste
# LINE 8: WHERE a.attrelid = '"groups"'::regclass
# ^
# ./app/models/group.rb:532:in `lookup_group'
Nessun esempio trovato.
Completato in 0,00003 secondi (i file hanno impiegato 1,6 secondi a caricarsi)
0 esempi, 0 fallimenti, 1 errore verificatosi al di fuori degli esempi