Nuovi requisiti di sistema delle funzionalità principali in plugin e temi

Abbiamo appena incluso quelle che chiamiamo specifiche per il fumo o specifiche delle funzionalità principali in entrambi gli scheletri per plugin e temi.

Queste specifiche assicurano che il plugin o il tema su cui stai lavorando non compromettano la funzionalità di base di Discourse.

È facile aggiungere queste specifiche a un plugin o tema esistente:

Per 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

Per 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

Se hai bisogno di aggiornare molti repository contemporaneamente, è disponibile uno script per il nostro strumento mass-pr.

Se il plugin o il tema su cui stai lavorando modifica intenzionalmente una funzionalità di base di Discourse, allora è possibile saltare alcuni degli esempi dalle specifiche delle funzionalità principali:

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

Ecco l’elenco completo delle parole chiave per saltare gli esempi:

  • login
  • likes
  • profile
  • topics
  • topics:read
  • topics:reply
  • topics:create
  • search
  • search:quick_search
  • search:full_page
10 Mi Piace

IMHO, sarebbe molto utile e di aiuto includere questo dettaglio in

e

… o il link di questo topic :slight_smile:

2 Mi Piace

È una buona idea, è stato fatto in DEV: Add short explanations for the core features specs by Flink · Pull Request #52 · discourse/discourse-theme-skeleton · GitHub e DEV: Add short explanations for the core features specs by Flink · Pull Request #78 · discourse/discourse-plugin-skeleton · GitHub :grin:

1 Mi Piace

Se il tuo tema necessita di un diverso Estensioni autorizzate del tema, tutti i test falliscono perché il tema non può essere caricato.