Sha256: b7189b3d928ba409691f3756c66b22f887be75b38ada5f7b43a52b8f17d0a4b5

Contents?: true

Size: 1.61 KB

Versions: 74

Compression:

Stored size: 1.61 KB

Contents

# frozen_string_literal: true
require "spec_helper"

RSpec.describe Blacklight::Solr::Response::Group, api: true do
  subject do
    group.groups.first
  end

  let(:response) do
    create_response(sample_response)
  end

  let(:group) do
    response.grouped.find { |x| x.key == "result_group_ssi" }
  end

  describe "#doclist" do
    it "is the raw list of documents from solr" do
      expect(subject.doclist).to be_a Hash
      expect(subject.doclist['docs'].first[:id]).to eq 1
    end
  end

  describe "#total" do
    it "is the number of results found in a group" do
      expect(subject.total).to eq 2
    end
  end

  describe "#start" do
    it "is the offset for the results in the group" do
      expect(subject.start).to eq 0
    end
  end

  describe "#docs" do
    it "is a list of SolrDocuments" do
      subject.docs.each do |doc|
        expect(doc).to be_a_kind_of SolrDocument
      end

      expect(subject.docs.first.id).to eq 1
    end
  end

  describe "#field" do
    it "is the field the group belongs to" do
      expect(subject.field).to eq "result_group_ssi"
    end
  end
end

def create_response(response, params = {})
  Blacklight::Solr::Response.new(response, params)
end

def sample_response
  { "responseHeader" => { "params" => { "rows" => 3, "group.limit" => 5 } },
    "grouped" =>
     { 'result_group_ssi' =>
       { 'groups' => [{ 'groupValue' => "Group 1", 'doclist' => { 'numFound' => 2, 'start' => 0, 'docs' => [{ id: 1 }, { id: 'x' }] } },
                      { 'groupValue' => "Group 2", 'doclist' => { 'numFound' => 3, 'docs' => [{ id: 2 }, id: 3] } }],
         'ngroups' => "3" } } }
end

Version data entries

74 entries across 74 versions & 2 rubygems

Version Path
blacklight-7.40.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.39.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.38.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/blacklight-7.37.0/spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.37.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.36.2 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.36.1 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.36.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.35.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.34.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.33.1 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.33.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.32.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.31.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.30.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.29.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.28.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.27.1 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.27.0 spec/models/blacklight/solr/response/group_spec.rb
blacklight-7.26.1 spec/models/blacklight/solr/response/group_spec.rb