Created
June 19, 2018 09:48
-
-
Save rafaellima/79ed1ed92261577b6e3873cb769b184a to your computer and use it in GitHub Desktop.
spec_helper vs rails_helper
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# frozen_string_literal: true | |
require "spec_helper" | |
require_relative "../../../../lib/client.rb" | |
require_relative "../../../../lib/platform.rb" | |
class Settings | |
def self.m1; end | |
def self.m2; end | |
end | |
class Rails | |
def self.logger; end | |
def self.info; end | |
end | |
RSpec.describe Client do | |
let(:confs) do | |
{a: "false", v: "http://endpoint", c: "key", d: "token"} | |
end | |
before do | |
allow(Conf).to receive_message_chain(:m1, :m2).and_return(OpenStruct.new(confs)) | |
end | |
describe "#request" do | |
let(:https) { instance_double(Net::HTTP).as_null_object } | |
let(:request) { instance_double(Net::HTTP::Get).as_null_object } | |
let(:response) { double("http response").as_null_object } | |
let(:parsed_response) { OpenStruct.new("success_code" => ["200"]) } | |
let(:url_shortner) { instance_double(Platform::UrlShortener).as_null_object } | |
before do | |
allow(Net::HTTP).to receive(:new).and_return(https) | |
allow(Net::HTTP::Get).to receive(:new).and_return(request) | |
allow(Platform).to receive(:new).and_return(url_shortner) | |
allow(https).to receive(:request).with(request).and_return(response) | |
allow(CGI).to receive(:parse).and_return(parsed_response) | |
allow(Rails).to receive_message_chain(:logger, :info) | |
subject.publish("99999", "content", "deliveryToken") | |
end | |
it { expect(https).to have_received(:request) } | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment