Sha256: d7ca836fdb1c54ad19a034e7d0d57ea0743ef3464887584b65e0ba0b783f2427

Contents?: true

Size: 1.38 KB

Versions: 34

Compression:

Stored size: 1.38 KB

Contents

require 'spec_helper'

describe PuppetForge::V3::User do
  before do
    stub_api_for(PuppetForge::V3::User) do |stubs|
      stub_fixture(stubs, :get, '/v3/users/puppetlabs')
      stub_fixture(stubs, :get, '/v3/users/absent')
    end
  end

  describe '::find' do
    let(:user) { PuppetForge::V3::User.find('puppetlabs') }
    let(:missing_user) { PuppetForge::V3::User.find('absent') }

    it 'can find users that exist' do
      expect(user.username).to eq('puppetlabs')
    end

    it 'raises Faraday::ResourceNotFound for non-existent users' do
      expect { missing_user }.to raise_error(Faraday::ResourceNotFound)
    end
  end

  describe '#modules' do
    before do
      stub_api_for(PuppetForge::V3::Module) do |stubs|
        stub_fixture(stubs, :get, '/v3/modules?owner=puppetlabs')
      end
    end

    let(:user) { PuppetForge::V3::User.find('puppetlabs') }

    it 'should return a PaginatedCollection' do
      expect(user.modules).to be_a PuppetForge::V3::Base::PaginatedCollection
    end

    it 'should only return modules for the current user' do
      module_owners = user.modules.map(&:owner)
      expect(module_owners.group_by(&:username).keys).to eql(['puppetlabs'])
    end
  end

  describe 'instance properies' do
    let(:user) { PuppetForge::V3::User.find('puppetlabs') }

    example 'are easily accessible' do
      expect(user.created_at).to_not be nil
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
puppet_forge-6.0.0 spec/unit/forge/v3/user_spec.rb
puppet_forge-5.0.4 spec/unit/forge/v3/user_spec.rb
puppet_forge-5.0.3 spec/unit/forge/v3/user_spec.rb
puppet_forge-5.0.2 spec/unit/forge/v3/user_spec.rb
puppet_forge-5.0.1 spec/unit/forge/v3/user_spec.rb
puppet_forge-5.0.0 spec/unit/forge/v3/user_spec.rb
puppet_forge-4.1.0 spec/unit/forge/v3/user_spec.rb
puppet_forge-4.0.0 spec/unit/forge/v3/user_spec.rb
puppet_forge-3.2.0 spec/unit/forge/v3/user_spec.rb
puppet_forge-3.1.0 spec/unit/forge/v3/user_spec.rb
puppet_forge-3.0.0 spec/unit/forge/v3/user_spec.rb
puppet_forge-2.3.4 spec/unit/forge/v3/user_spec.rb
puppet_forge-2.3.3 spec/unit/forge/v3/user_spec.rb
puppet_forge-2.3.2 spec/unit/forge/v3/user_spec.rb
puppet_forge-2.3.1 spec/unit/forge/v3/user_spec.rb
puppet_forge-2.3.0 spec/unit/forge/v3/user_spec.rb
puppet_forge-2.3.0.rc1 spec/unit/forge/v3/user_spec.rb
puppet_forge-2.2.9 spec/unit/forge/v3/user_spec.rb
puppet_forge-2.2.8 spec/unit/forge/v3/user_spec.rb
puppet_forge-2.2.7 spec/unit/forge/v3/user_spec.rb