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