Sha256: c87888259dae0f3e75770ccf4e638444a539201b76c03bdd0ca7ff5dd676bdcf
Contents?: true
Size: 1.48 KB
Versions: 3
Compression:
Stored size: 1.48 KB
Contents
require 'spec_helper' require 'pact_broker/models/webhook' module PactBroker module Models describe Webhook do let(:consumer) { Pacticipant.new(name: 'Consumer')} let(:provider) { Pacticipant.new(name: 'Provider')} let(:request) { instance_double(PactBroker::Models::WebhookRequest, execute: nil)} subject { Webhook.new(request: request, consumer: consumer, provider: provider,) } describe "#validate" do let(:errors) { ['errors'] } context "when the request is not present" do let(:request) { nil } it "returns an error message" do expect(subject.validate).to include "Missing required attribute 'request'" end end context "when the request is present" do it "validates the request" do expect(request).to receive(:validate).and_return(errors) expect(subject.validate).to eq errors end end end describe "description" do it "returns a description of the webhook" do expect(subject.description).to eq "A webhook for the pact between Consumer and Provider" end end describe "execute" do it "executes the request" do expect(request).to receive(:execute) subject.execute end it "logs before and after" do expect(PactBroker.logger).to receive(:info).with(/Executing/) subject.execute end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pact_broker-1.3.0 | spec/lib/pact_broker/models/webhook_spec.rb |
pact_broker-1.2.0 | spec/lib/pact_broker/models/webhook_spec.rb |
pact_broker-1.1.0 | spec/lib/pact_broker/models/webhook_spec.rb |