require 'spec_helper' describe Auth0::Api::V2::Clients do let(:client) { Auth0Client.new(v2_creds) } let(:existing_client) do sleep 1 client.create_client("existing#{entity_suffix}") end let(:client_name) { "ClientV2#{entity_suffix}" } it do sleep 1 expect(client.clients).to_not be_empty end describe '.clients' do let(:clients) do sleep 1 client.clients end it do sleep 1 expect(clients.size).to be > 0 end context '#filters' do it do sleep 1 expect(client.clients( fields: [:name, :callbacks].join(',') ).first).to(include('name', 'callbacks')) end it do sleep 1 expect(client.clients( fields: [:callbacks].join(',')).first ).to_not(include('name')) end it do sleep 1 expect(client.clients( fields: [:callbacks].join(','), include_fields: false ).first).to_not(include('callbacks')) end it do sleep 1 results = client.clients( fields: :name, page: 0, per_page: 1 ) expect(results.first).to equal(results.last) end end end describe '.client' do it do sleep 1 expect(client.client(existing_client['client_id'])).to include('client_id' => existing_client['client_id']) end it do sleep 1 expect { client.client '' }.to raise_error(Auth0::MissingClientId) end context '#filters' do let(:client_include) do sleep 1 client.client(existing_client['client_id'], fields: [:name, :client_secret, :jwt_configuration].join(',')) end let(:client_not_include) do sleep 1 client.client(existing_client['client_id'], fields: :jwt_configuration, include_fields: false) end it do sleep 1 expect(client_include).to(include('name', 'client_secret', 'jwt_configuration')) end it do sleep 1 expect(client_not_include).to(include('name', 'client_secret')) expect(client_not_include).to_not(include('jwt_configuration')) end end end describe '.create_client' do it do sleep 1 expect(client.create_client(client_name, custom_login_page_on: false)).to( include('name' => client_name, 'custom_login_page_on' => false) ) end it { expect { client.create_client('', custom_login_page_on: false) }.to raise_error(Auth0::MissingParameter) } end describe '.patch_client' do it do sleep 1 expect( client.patch_client( existing_client['client_id'], custom_login_page_on: false, sso: true ) ).to(include('custom_login_page_on' => false, 'sso' => true)) end it do sleep 1 expect { client.patch_client('', custom_login_page_on: false) }.to raise_error(Auth0::MissingClientId) end end describe '.delete_rule' do it do sleep 1 expect { client.delete_client(existing_client['client_id']) }.to_not raise_error end it do sleep 1 expect { client.delete_client '' }.to raise_error(Auth0::MissingClientId) end end end