fix(administrateur): tags persistence when non interacting with tags combobox

This commit is contained in:
Colin Darie 2023-03-08 11:27:31 +01:00
parent 126819939b
commit c112018ec3
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