Merge pull request #8749 from colinux/fix-tags-persistence

Administrateur: ne supprime pas les tags quand on n'interagit pas avec la liste de sélection
This commit is contained in:
Colin Darie 2023-03-09 15:25:15 +00:00 committed by GitHub
commit 88efef0718
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 1 deletions

View file

@ -102,8 +102,9 @@
%h3.header-subsection Ajouter des tags %h3.header-subsection Ajouter des tags
%p.explication Les tags sont des mots ou des expressions que vous attribuez aux démarches pour décrire leur contenu et pour les retrouver. Les tags sont partagés avec la communauté, ce qui vous permet de voir les tags attribués aux démarches créées par les autres administrateurs. %p.explication Les tags sont des mots ou des expressions que vous attribuez aux démarches pour décrire leur contenu et pour les retrouver. Les tags sont partagés avec la communauté, ce qui vous permet de voir les tags attribués aux démarches créées par les autres administrateurs.
= hidden_field_tag 'procedure[tags]', nil = hidden_field_tag 'procedure[tags]', JSON.generate(@procedure.tags)
= react_component("ComboMultiple", = react_component("ComboMultiple",
id: "procedure_tags_combo",
options: Procedure.tags, options: Procedure.tags,
selected: @procedure.tags, selected: @procedure.tags,
disabled: [], disabled: [],

View file

@ -58,4 +58,25 @@ describe 'Administrateurs can edit procedures', js: true do
expect(page).to have_selector('.fr-breadcrumb li', text: 'Ma petite démarche') expect(page).to have_selector('.fr-breadcrumb li', text: 'Ma petite démarche')
end end
end end
context 'when we associate tags' do
scenario 'the administrator can edit and persist the tags' do
procedure.update!(tags: ['social'])
visit edit_admin_procedure_path(procedure)
select_combobox('procedure_tags_combo', 'planete', 'planete', check: false)
click_on 'Enregistrer'
expect(procedure.reload.tags).to eq(['social', 'planete'])
end
scenario 'the tags are persisted when non interacting with the tags combobox' do
procedure.update!(tags: ['social'])
visit edit_admin_procedure_path(procedure)
click_on 'Enregistrer'
expect(procedure.reload.tags).to eq(['social'])
end
end
end end