# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/ RSpec.shared_context 'basic Knowledge Base', current_user_id: 1 do # rubocop:disable RSpec/ContextWording let :knowledge_base do create(:knowledge_base) end let :primary_locale do knowledge_base.translation_primary.kb_locale end let :locale_name do primary_locale.system_locale.locale end let :alternative_locale do create(:knowledge_base_locale, knowledge_base: knowledge_base, system_locale: Locale.find_by(locale: 'lt')) end let :category do create(:knowledge_base_category, knowledge_base: knowledge_base) end let :subcategory do create(:knowledge_base_category, knowledge_base: knowledge_base, parent: category) end let :other_category do create(:knowledge_base_category, knowledge_base: knowledge_base) end let :draft_answer do create(:knowledge_base_answer, category: category) end let :published_answer do create(:knowledge_base_answer, :published, :with_attachment, category: category) end let :published_answer_in_other_category do create(:knowledge_base_answer, :published, category: other_category) end let :published_answer_in_subcategory do create(:knowledge_base_answer, :published, category: subcategory) end let :published_answer_with_video do create(:knowledge_base_answer, :published, :with_video, category: category) end let :published_answer_with_image do create(:knowledge_base_answer, :published, :with_image, category: category) end let :published_answer_with_tag do create(:knowledge_base_answer, :published, :with_tag, tag_names: [published_answer_tag_name], category: category) end let(:published_answer_tag_name) do 'example_kb_tag' end let :internal_answer do create(:knowledge_base_answer, :internal, category: category) end let :archived_answer do create(:knowledge_base_answer, :archived, category: category) end end RSpec.shared_context 'Knowledge Base menu items', current_user_id: 1 do # rubocop:disable RSpec/ContextWording # rubocop:disable RSpec/LetSetup let!(:menu_item_1) { create(:knowledge_base_menu_item, :for_header, kb_locale: primary_locale) } let!(:menu_item_2) { create(:knowledge_base_menu_item, :for_header, kb_locale: primary_locale) } let!(:menu_item_3) { create(:knowledge_base_menu_item, :for_footer, kb_locale: primary_locale) } let!(:menu_item_4) { create(:knowledge_base_menu_item, :for_footer, kb_locale: alternative_locale) } let!(:menu_item_5) { create(:knowledge_base_menu_item, :for_footer, kb_locale: alternative_locale) } # rubocop:enable RSpec/LetSetup end