Sha256: 1bc5943bc4cd3f272830842264e70ccaa2df2ca603a9e79544950eb60b94db39

Contents?: true

Size: 1.78 KB

Versions: 19

Compression:

Stored size: 1.78 KB

Contents

require 'spec_helper'

describe PuppetForge::V3::User do
  before do
    PuppetForge.host = "https://forge-aio01-petest.puppetlabs.com/"
    PuppetForge::V3::Base.conn = PuppetForge::Connection.make_connection(PuppetForge.host, nil, {:ssl => {:verify => false} })
  end

  context "#find" do
    context "when the user exists," do

      it "find returns a PuppetForge::V3::User." do
        user = PuppetForge::V3::User.find('puppetforgegemtesting')
        expect(user).to be_a(PuppetForge::V3::User)
      end

      it "it exposes the API information." do
        user = PuppetForge::V3::User.find('puppetforgegemtesting')

        expect(user).to respond_to(:uri)
        expect(user).to respond_to(:modules)

        expect(user.uri).to be_a(String)
        expect(user.modules).to be_a(PuppetForge::V3::Base::PaginatedCollection)
      end

    end

    context "when the user doesn't exists," do
      let (:user) { PuppetForge::V3::User.find('notauser') }

      it "find returns nil." do
        expect { user }.to raise_error(Faraday::ResourceNotFound)
      end

    end
  end

  context "::where" do
    context "finds matching resources" do

      it "returns sorted users" do
        users = PuppetForge::V3::User.where(:sort_by => 'releases')

        expect(users).to be_a(PuppetForge::V3::Base::PaginatedCollection)

        previous_releases = users.first.release_count
        users.each do |user|
          expect(user.release_count).to be <= previous_releases
          previous_releases = user.release_count
        end

      end

      it "returns a paginated response" do
        users = PuppetForge::V3::User.where(:limit => 1)

        expect(users.limit).to eq(1)

        2.times do
          expect(users).not_to be_nil
          users = users.next
        end
      end

    end

  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
puppet_forge-2.3.0 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.3.0.rc1 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.2.9 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.2.8 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.2.7 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.2.6 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.2.5 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.2.4 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.2.3 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.2.2 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.2.1 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.2.0 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.1.5 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.1.4 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.1.3 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.1.2 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.1.1 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.1.0 spec/integration/forge/v3/user_spec.rb
puppet_forge-2.0.0 spec/integration/forge/v3/user_spec.rb