Я только что обновил файлы из discourse-plugin-skeleton (все локальные тесты прошли успешно, но затем какое-то изменение привело к сбою некоторых фронтенд-тестов). Теперь я получаю следующее:
bin/turbo_rspec --verbose --format documentation plugins/discourse-pfaffmanager/spec/system
shell: bash --noprofile --norc -e -o pipefail {0}
env:
JS_PKG_MANAGER_NULL_VALUE: none
DISCOURSE_HOSTNAME: www.example.com
RUBY_GLOBAL_METHOD_CACHE_SIZE: 131072
RAILS_ENV: test
PGUSER: discourse
PGPASSWORD: discourse
PLUGIN_NAME: discourse-pfaffmanager
CHEAP_SOURCE_MAPS: 1
MINIO_RUNNER_LOG_LEVEL: DEBUG
MINIO_RUNNER_INSTALL_DIR: /home/discourse/.minio_runner
USES_PARALLEL_DATABASES: true
PARALLEL_TEST_PROCESSORS: 1
LOAD_PLUGINS: 1
CAPYBARA_DEFAULT_MAX_WAIT_TIME: 10
Запуск turbo_rspec
VERBOSE
[multisite] Запуск RSpec
[1] Запуск RSpec
Подробный вывод turbo_spec
Настройка параллельного режима тестирования — запуск Redis 1 на порту 10001
[multisite] ГОТОВО (1/2) 10.36с
[1] (#2990) Основные функции, как и ожидалось, работают корректно: профиль пользователя с авторизованным пользователем отображает профиль пользователя
[1] (#2990) Основные функции, как и ожидалось, работают корректно: профиль пользователя с авторизованным пользователем отображает собственный профиль пользователя
[1] (#2990) Основные функции, как и ожидалось, работают корректно: профиль пользователя с анонимным пользователем отображает профиль пользователя
[1] (#2990) Основные функции, как и ожидалось, работают корректно: лайки — лайк поста (ОШИБКА - 1)
[1] (#2990) Основные функции, как и ожидалось, работают корректно: поиск с авторизованным пользователем — поиск через быстрый поиск
[1] (#2990) Основные функции, как и ожидалось, работают корректно: поиск с авторизованным пользователем — поиск через полностраничный поиск
[1] (#2990) Основные функции, как и ожидалось, работают корректно: поиск с анонимным пользователем — поиск через быстрый поиск
[1] (#2990) Основные функции, как и ожидалось, работают корректно: поиск с анонимным пользователем — поиск через полностраничный поиск
[1] (#2990) Основные функции, как и ожидалось, работают корректно: вход в систему — вход выполнен
[1] (#2990) Основные функции, как и ожидалось, работают корректно: вход в систему — отображение кнопки входа в заголовке
[1] (#2990) Основные функции, как и ожидалось, работают корректно: темы с анонимным пользователем — список тем для категории
[1] (#2990) Основные функции, как и ожидалось, работают корректно: темы с анонимным пользователем — список последних тем
[1] (#2990) Основные функции, как и ожидалось, работают корректно: темы с анонимным пользователем — отображение конкретной темы
[1] (#2990) Основные функции, как и ожидалось, работают корректно: темы с авторизованным пользователем — отображение конкретной темы (ОШИБКА - 2)
[1] (#2990) Основные функции, как и ожидалось, работают корректно: темы с авторизованным пользователем — ответ в теме (ОШИБКА - 3)
[1] (#2990) Основные функции, как и ожидалось, работают корректно: темы с авторизованным пользователем — создание новой темы (ОШИБКА - 4)
[1] (#2990) Основные функции, как и ожидалось, работают корректно: темы с авторизованным пользователем — список тем для категории (ОШИБКА - 5)
[1] (#2990) Основные функции, как и ожидалось, работают корректно: темы с авторизованным пользователем — список последних тем (ОШИБКА - 6)
Не удалось загрузить ресурс: net::ERR_CONNECTION_REFUSED
Не удалось загрузить ресурс: net::ERR_CONNECTION_REFUSED
~~~~~ КОНЕЦ ЛОГОВ JS ~~~~~
Общая группа примеров: "having working core features", вызвана из ./plugins/discourse-pfaffmanager/spec/system/core_features_spec.rb:14
# ./spec/support/shared_examples/core_features.rb:69:in `block (4 levels) in <main>'
# ./spec/rails_helper.rb:719:in `block (3 levels) in <top (required)>'
# ./vendor/bundle/ruby/3.3.0/gems/timeout-0.5.0/lib/timeout.rb:222:in `block in timeout'
# ./vendor/bundle/ruby/3.3.0/gems/timeout-0.5.0/lib/timeout.rb:229:in `timeout'
# ./spec/rails_helper.rb:709:in `block (2 levels) in <top (required)>'
# ./spec/rails_helper.rb:666:in `block (2 levels) in <top (required)>'
# ./vendor/bundle/ruby/3.3.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in <top (required)>'
6) Основные функции, как и ожидалось, работают корректно: темы с авторизованным пользователем — список последних тем
Ошибка в ожидании: expect(page).to have_css(".topic-list-item", count: 4)
ожидалось найти CSS-элемент ".topic-list-item" 4 раза, но совпадений не найдено
[Изображение скриншота]: /__w/discourse-pfaffmanager/discourse-pfaffmanager/tmp/capybara/failures_r_spec_example_groups_core_features_behaves_like_having_working_core_features_topics_with_a_logged_in_user_lists_latest_topics_269.png
~~~~~~~ ЛОГИ JS ~~~~~~~
DEBUG: -------------------------------
DEBUG: Ember : 6.6.0
DEBUG: -------------------------------
ℹ️ Discourse v2026.2.0-latest — https://github.com/discourse/discourse/commits/f7cec86997 — Ember v6.6.0
DEBUG: Для более продвинутой отладки установите Ember Inspector из https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi
Не удалось загрузить ресурс: net::ERR_CONNECTION_REFUSED
~~~~~ КОНЕЦ ЛОГОВ JS ~~~~~
Общая группа примеров: "having working core features", вызвана из ./plugins/discourse-pfaffmanager/spec/system/core_features_spec.rb:14
# ./spec/support/shared_examples/core_features.rb:64:in `block (4 levels) in <main>'
# ./spec/rails_helper.rb:719:in `block (3 levels) in <top (required)>'
# ./vendor/bundle/ruby/3.3.0/gems/timeout-0.5.0/lib/timeout.rb:222:in `block in timeout'
# ./vendor/bundle/ruby/3.3.0/gems/timeout-0.5.0/lib/timeout.rb:229:in `timeout'
# ./spec/rails_helper.rb:709:in `block (2 levels) in <top (required)>'
# ./spec/rails_helper.rb:666:in `block (2 levels) in <top (required)>'
# ./vendor/bundle/ruby/3.3.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in <top (required)>'
Завершено за 2 минуты 14.4 секунды (файлы загружены за 0 секунд)
18 примеров, 6 ошибок
Ошибочные примеры:
rspec ./plugins/discourse-pfaffmanager/spec/system/core_features_spec.rb:14 # Основные функции, как и ожидалось, работают корректно: лайки — лайк поста
rspec ./plugins/discourse-pfaffmanager/spec/system/core_features_spec.rb:14 # Основные функции, как и ожидалось, работают корректно: темы с авторизованным пользователем — отображение конкретной темы
rspec ./plugins/discourse-pfaffmanager/spec/system/core_features_spec.rb:14 # Основные функции, как и ожидалось, работают корректно: темы с авторизованным пользователем — ответ в теме
rspec ./plugins/discourse-pfaffmanager/spec/system/core_features_spec.rb:14 # Основные функции, как и ожидалось, работают корректно: темы с авторизованным пользователем — создание новой темы
rspec ./plugins/discourse-pfaffmanager/spec/system/core_features_spec.rb:14 # Основные функции, как и ожидалось, работают корректно: темы с авторизованным пользователем — список тем для категории
rspec ./plugins/discourse-pfaffmanager/spec/system/core_features_spec.rb:14 # Основные функции, как и ожидалось, работают корректно: темы с авторизованным пользователем — список последних тем
Ошибка: Процесс завершен с кодом выхода 1.
Я не понимаю, как мой плагин может влиять на эти тесты. .. но запуск bin/rake autospec в репозитории discourse, похоже, выявляет множество ошибок.
Здесь есть документация: New core features system specs in plugins and themes – может, мне стоит её прочитать? ну, я всё ещё не понимаю, как мой плагин может ломать темы.
Поэтому я добавил
it_behaves_like "having working core features" , skip_examples: %i[topics likes]
Теперь тесты проходят, но я не понимаю, почему они падали. Эти функции работают нормально в браузере. . .