feed_spec.rb 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/
  2. require 'rails_helper'
  3. RSpec.describe 'Knowledge Base feed', type: :system do
  4. include_context 'basic Knowledge Base'
  5. before do
  6. knowledge_base.update! show_feed_icon: show_feed_icon
  7. published_answer
  8. end
  9. context 'when feed is on' do
  10. let(:show_feed_icon) { true }
  11. it 'shows root link at main page' do
  12. visit "#knowledge_base/#{knowledge_base.id}/locale/#{locale_name}"
  13. click '.icon-rss'
  14. in_modal do
  15. token = Token.last.name
  16. link = find('a', text: knowledge_base.translations.first.title)
  17. expect(link[:href]).to end_with feed_knowledge_base_path(knowledge_base, locale_name, token: token)
  18. end
  19. end
  20. it 'shows root and category links at category page' do
  21. visit "#knowledge_base/#{knowledge_base.id}/locale/#{locale_name}/category/#{category.id}"
  22. click '.icon-rss'
  23. in_modal do
  24. token = Token.last.name
  25. kb_link = find('a', text: knowledge_base.translations.first.title)
  26. expect(kb_link[:href]).to end_with feed_knowledge_base_path(knowledge_base, locale_name, token: token)
  27. category_link = find('a', text: category.translations.first.title)
  28. expect(category_link[:href]).to end_with feed_knowledge_base_category_path(knowledge_base, category, locale_name, token: token)
  29. end
  30. end
  31. it 'shows root and category links at answer page' do
  32. visit "#knowledge_base/#{knowledge_base.id}/locale/#{locale_name}/answer/#{published_answer.id}"
  33. click '.icon-rss'
  34. in_modal do
  35. token = Token.last.name
  36. kb_link = find('a', text: knowledge_base.translations.first.title)
  37. expect(kb_link[:href]).to end_with feed_knowledge_base_path(knowledge_base, locale_name, token: token)
  38. category_link = find('a', text: category.translations.first.title)
  39. expect(category_link[:href]).to end_with feed_knowledge_base_category_path(knowledge_base, category, locale_name, token: token)
  40. end
  41. end
  42. end
  43. context 'when feed is off' do
  44. let(:show_feed_icon) { false }
  45. it 'does not show icon' do
  46. visit "#knowledge_base/#{knowledge_base.id}/locale/#{locale_name}"
  47. expect(page).to have_no_css('.icon-rss')
  48. end
  49. end
  50. end