Nuevas especificaciones del sistema de funciones principales en plugins y temas

Hemos incluido lo que llamamos especificaciones de humo o especificaciones de características principales en ambos esqueletos para plugins y temas.

Estas especificaciones aseguran que el plugin o tema en el que estás trabajando no rompa la funcionalidad básica de Discourse.

Es fácil añadir estas especificaciones a un plugin o tema existente:

Para un plugin

# spec/system/core_features_spec.rb

RSpec.describe "Core features", type: :system do
  before { enable_current_plugin }

  it_behaves_like "having working core features"
end

Para un tema

# spec/system/core_features_spec.rb

RSpec.describe "Core features", type: :system do
  before { upload_theme_or_component }

  it_behaves_like "having working core features"
end

Si necesitas actualizar muchos repositorios a la vez, hay disponible un script para nuestra herramienta mass-pr.

Si el plugin o tema en el que estás trabajando cambia intencionadamente una funcionalidad básica de Discourse, entonces es posible omitir algunos de los ejemplos de las especificaciones de características principales:

it_behaves_like "having working core features", skip_examples: %i[login likes]

Aquí está la lista completa de palabras clave para omitir ejemplos:

  • login
  • likes
  • profile
  • topics
  • topics:read
  • topics:reply
  • topics:create
  • search
  • search:quick_search
  • search:full_page
10 Me gusta

En mi humilde opinión, sería muy útil y beneficioso incluir este detalle en

y

… o el enlace de este tema :slight_smile:

2 Me gusta

Esa es una buena idea, se ha hecho en DEV: Add short explanations for the core features specs by Flink · Pull Request #52 · discourse/discourse-theme-skeleton · GitHub y DEV: Add short explanations for the core features specs by Flink · Pull Request #78 · discourse/discourse-plugin-skeleton · GitHub :grin:

1 me gusta

Si tu tema necesita tener una Extensiones autorizadas del tema diferente, todas las pruebas fallarán porque el tema no puede cargar.