Sha256: ade9d4528107dca6e60db9c5c14c05f39d50cd216e566eb1b25ba1e6de9dbe22
Contents?: true
Size: 1.48 KB
Versions: 1
Compression:
Stored size: 1.48 KB
Contents
require 'spec_helper' require 'pact_broker/api/decorators/webhooks_decorator' module PactBroker module Api module Decorators describe WebhooksDecorator do let(:webhook) do instance_double(Domain::Webhook, uuid: 'some-uuid', description: 'description', request_description: 'request description') end let(:base_url) { 'http://example.org' } let(:resource_url) { 'http://example.org/webhooks' } let(:decorator_context) do DecoratorContext.new(base_url, resource_url, resource_title: 'Title') end let(:webhooks) { [webhook] } describe "to_json" do let(:json) { WebhooksDecorator.new(webhooks).to_json(decorator_context) } subject { JSON.parse(json, symbolize_names: true) } it "includes a link to itself with a title" do expect(subject[:_links][:'pb:self'][:href]).to eq resource_url expect(subject[:_links][:'pb:self'][:title]).to eq 'Title' end it "includes a list of links to the webhooks" do expect(subject[:_links][:webhooks]).to be_instance_of(Array) expect(subject[:_links][:webhooks].first).to eq title: 'description', name: 'request description', href: 'http://example.org/webhooks/some-uuid' end it "includes curies" do expect(subject[:_links][:curies]).to eq [{:name=>"pb", :href=>"http://example.org/doc/webhooks"}] end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pact_broker-1.3.2.rc1 | spec/lib/pact_broker/api/decorators/webhooks_decorator_spec.rb |