Sha256: 002df470b3beda9d8474e059c1efc81f65b9f4aa29058d2ff109cc25a2cb4315
Contents?: true
Size: 1.91 KB
Versions: 2
Compression:
Stored size: 1.91 KB
Contents
# frozen_string_literal: true require File.expand_path('spec_helper', __dir__) describe Danger::DangerLgtm do it 'should be a plugin' do expect(Danger::DangerLgtm.new(nil)).to be_a(Danger::Plugin) end describe '#check_lgtm' do shared_examples 'returns correctly message' do it { expect(markdowns.first.message).to match(/#{image_url}/) } end let(:lgtm) { dangerfile.lgtm } let(:dangerfile) { testing_dangerfile } let(:https_only) { false } let(:image_url) { nil } let(:connection_mock) { double('Connection', request: response) } subject(:markdowns) do dangerfile.status_report[:markdowns] end context 'with HTTP errors' do let(:message) { 'Hello World!' } let(:response) { failure_response_mock(message) } it 'handles error' do expect($stdout).to receive(:puts).with(message) allow(Net::HTTP).to receive(:start).and_return(connection_mock) lgtm.check_lgtm(https_image_only: https_only, image_url: image_url) expect(markdowns.first.message).to eq("<h1 align='center'>LGTM</h1>") end end context 'without HTTP errors' do before do allow(Net::HTTP).to receive(:start).and_return(connection_mock) end before do lgtm.check_lgtm(https_image_only: https_only, image_url: image_url) end context 'with passed image url' do let(:lgtm_image) { 'https://example.com/image1.jpg' } let(:image_url) { 'https://example.com/image2.jpg' } let(:response) { success_response_mock(lgtm_image) } it_behaves_like 'returns correctly message' end context 'without passed image url' do let(:lgtm_image) { 'https://example.com/image.jpg' } let(:image_url) { 'https://example.com/image.jpg' } let(:response) { success_response_mock(lgtm_image) } it_behaves_like 'returns correctly message' end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
danger-lgtm-1.1.1 | spec/lgtm_spec.rb |
danger-lgtm-1.1.0 | spec/lgtm_spec.rb |