Sha256: 5b06ce5bf3bf8a4399e0a4ae9dabce5340fac9acaf72a592340e4cba37ebffe5
Contents?: true
Size: 1.81 KB
Versions: 4
Compression:
Stored size: 1.81 KB
Contents
# frozen_string_literal: true require 'spec_helper' describe Osso::GraphQL::Schema do describe 'Identity Provider' do let(:id) { Faker::Internet.uuid } let(:domain) { Faker::Internet.domain_name } let(:variables) { { id: id } } let(:query) do <<~GRAPHQL query IdentityProvider($id: ID!) { identityProvider(id: $id) { id service domain acsUrl acsUrlValidator ssoCert ssoUrl status } } GRAPHQL end before do create(:identity_provider) create(:identity_provider, id: id, domain: domain) end subject do described_class.execute( query, variables: variables, context: current_context, ) end describe 'for an admin user' do let(:current_context) do { scope: 'admin' } end it 'returns Identity Provider for id' do expect(subject['errors']).to be_nil expect(subject.dig('data', 'identityProvider', 'id')).to eq(id) end end describe 'for an email scoped user' do let(:current_context) do { scope: 'end-user', email: "user@#{domain}", } end it 'returns Enterprise Account for domain' do expect(subject['errors']).to be_nil expect(subject.dig('data', 'identityProvider', 'domain')).to eq(domain) end end describe 'for the wrong email scoped user' do let(:current_context) do { scope: 'end-user', email: 'user@bar.com', } end it 'returns Enterprise Account for domain' do expect(subject['errors']).to_not be_empty expect(subject.dig('data', 'enterpriseAccount')).to be_nil end end end end
Version data entries
4 entries across 4 versions & 1 rubygems