From 819f299d3bdc2485394120583b8a76a67b10b418 Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Wed, 20 Mar 2024 16:00:18 +0100 Subject: tags: attempt to modify searches on tag rename MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We don't want to break existing searches upon renaming a tag, since most of searches will be based on tag names. NOTE: if the UI of searches is improved, maybe the `tags:""` clause can contain tag ids instead of names, and hence we won't need all this dance afterwards. Signed-off-by: Miquel Sabaté Solà --- test/system/searches_test.rb | 2 +- test/system/tags_test.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'test/system') diff --git a/test/system/searches_test.rb b/test/system/searches_test.rb index 309d51c..4920102 100644 --- a/test/system/searches_test.rb +++ b/test/system/searches_test.rb @@ -127,6 +127,6 @@ class SearchesTest < ApplicationSystemTestCase accept_alert { click_on I18n.t('general.delete') } assert_selector 'a', text: searches(:search1).name, count: 0 - assert_predicate Search, :none? + assert_equal searches.size - 1, Search.count end end diff --git a/test/system/tags_test.rb b/test/system/tags_test.rb index 7e2100f..15d1c3e 100644 --- a/test/system/tags_test.rb +++ b/test/system/tags_test.rb @@ -47,6 +47,9 @@ class SharedSearchesTest < ApplicationSystemTestCase assert_text I18n.t('tags.update-success') assert_text "#{tags(:tag1).name}-updated" + + # Searches are also updated on tag renames. + assert_equal "tag:\"#{tags(:tag1).name}-updated\"", searches(:search1).body end test 'gives feedback on update errors' do @@ -58,6 +61,15 @@ class SharedSearchesTest < ApplicationSystemTestCase assert_text "#{I18n.t('activerecord.attributes.tag.name')} #{I18n.t('errors.messages.taken')}" end + test 'gives feedback when any of the searches could not be updated because of the tag rename' do + visit edit_tag_url(tags(:tag1)) + + fill_in I18n.t('activerecord.attributes.tag.name'), with: 'unknown' + click_on I18n.t('helpers.submit.update') + + assert_text I18n.t('tags.update-fail') + end + test 'can delete an existing tag' do visit tags_url -- cgit v1.2.3