# frozen_string_literal: true require "rails_helper" describe SocialHelper::TelegramMethods, type: :helper do let(:user) { FactoryBot.create(:user) } let(:answer) do FactoryBot.create( :answer, user:, content: "this is an answer\nwith multiple lines\nand **FORMATTING**", question_content: "this is a question .... or is it?" ) end before do stub_const("APP_CONFIG", { "hostname" => "example.com", "https" => true, "items_per_page" => 5, }) end describe "#telegram_text" do subject { telegram_text(answer) } it "returns a proper text for sharing" do expect(subject).to eq(<<~TEXT.strip) this is a question .... or is it? ——— this is an answer with multiple lines and FORMATTING TEXT end end describe "#telegram_share_url" do subject { telegram_share_url(answer) } it "returns a proper share link" do expect(subject).to eq(<<~URL.strip) https://t.me/share/url?url=https%3A%2F%2Fexample.com%2F%40#{answer.user.screen_name}%2Fa%2F#{answer.id}&text=this+is+a+question+....+or+is+it%3F%0A%E2%80%94%E2%80%94%E2%80%94%0Athis+is+an+answer%0Awith+multiple+lines%0Aand+FORMATTING URL end end end