main
 1# frozen_string_literal: true
 2
 3RSpec.describe Saml::Kit::Builders::LogoutResponse do
 4  subject { described_class.new(request) }
 5
 6  let(:user) { User.new }
 7  let(:request) { Saml::Kit::Builders::LogoutRequest.new(user).build }
 8  let(:issuer) { FFaker::Internet.http_url }
 9  let(:destination) { FFaker::Internet.http_url }
10
11  describe '#build' do
12    it 'builds a logout response' do
13      travel_to 1.second.from_now
14
15      subject.issuer = issuer
16      subject.destination = destination
17      result = subject.build
18      expect(result.id).to be_present
19      expect(result.issue_instant).to eql(Time.now.utc)
20      expect(result.version).to eql('2.0')
21      expect(result.issuer).to eql(issuer)
22      expect(result.status_code).to eql(Saml::Kit::Namespaces::SUCCESS)
23      expect(result.in_response_to).to eql(request.id)
24      expect(result.destination).to eql(destination)
25    end
26  end
27end