# frozen_string_literal: true shared_examples "amendment promoted event" do include_context "when a simple event" let(:resource) { emendation } let(:event_name) { "decidim.events.amendments.amendment_promoted" } it_behaves_like "a simple event" let(:amendable_title) { amendable.title } let(:emendation_author_nickname) { "@#{emendation.creator_author.nickname}" } let(:emendation_path) { Decidim::ResourceLocatorPresenter.new(emendation).path } let(:emendation_author_path) { Decidim::UserPresenter.new(emendation.creator_author).profile_path } let(:amendable_path) { Decidim::ResourceLocatorPresenter.new(amendable).path } describe "email_subject" do it "is generated correctly" do expect(subject.email_subject).to eq("An emendation from #{emendation_author_nickname} has been promoted") end end describe "email_intro" do it "is generated correctly" do expect(subject.email_intro) .to eq("An emendation rejected for #{amendable_title} has been promoted to an independent #{amendable_type}. You can see it from this page:") end end describe "email_outro" do it "is generated correctly" do expect(subject.email_outro) .to eq("You have received this notification because you are following #{amendable_title}. You can stop receiving notifications following the previous link.") end end describe "notification_title" do it "is generated correctly" do expect(subject.notification_title) .to include("A rejected emendation for #{amendable_title} #{amendable_type} has been promoted by #{emendation_author_nickname}.") # rubocop:disable Metrics/LineLength end end end