Sha256: 350c449d3f5ad3180f2a3855834dc90f8b072cdeb3add14411b8fd2a94c31949

Contents?: true

Size: 1.49 KB

Versions: 2

Compression:

Stored size: 1.49 KB

Contents

# encoding: utf-8
require File.dirname(__FILE__) + '/../../spec_helper'

module SendGrid4r::REST::ApiKeysManagement
  describe Permissions do
    describe 'integration test', :it do
      before do
        Dotenv.load
        @client = SendGrid4r::Client.new(api_key: ENV['SILVER_API_KEY'])
      end

      context 'without block call' do
        it '#get_permissions' do
          permissions = @client.get_permissions
          expect(permissions).to be_a(Permissions::Permissions)
          expect(permissions.scopes).to be_a(Array)
        end
      end
    end

    describe 'unit test', :ut do
      let(:client) do
        SendGrid4r::Client.new(api_key: '')
      end

      let(:permissions) do
        JSON.parse(
          '{'\
            '"scopes": ['\
              '"alerts.create",'\
              '"alerts.read",'\
              '"alerts.update"'\
            ']'\
          '}'
        )
      end

      it '#get_permissions' do
        allow(client).to receive(:execute).and_return(permissions)
        actual = client.get_permissions
        expect(actual).to be_a(Permissions::Permissions)
      end

      it 'creates permissions instance' do
        actual = Permissions.create_permissions(permissions)
        expect(actual).to be_a(Permissions::Permissions)
        expect(actual.scopes).to be_a(Array)
        expect(actual.scopes[0]).to eq('alerts.create')
        expect(actual.scopes[1]).to eq('alerts.read')
        expect(actual.scopes[2]).to eq('alerts.update')
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sendgrid4r-1.11.0 spec/rest/api_keys_management/permissions_spec.rb
sendgrid4r-1.10.0 spec/rest/api_keys_management/permissions_spec.rb