Sha256: 7fc1a200ccbbc5b68cdcfa4c119b68762f756fdaf0c4634d15585a9ca1399228

Contents?: true

Size: 1000 Bytes

Versions: 2

Compression:

Stored size: 1000 Bytes

Contents

# frozen_string_literal: true
require "spec_helper"

describe DiscourseApi::API::Search do
  subject { DiscourseApi::Client.new("#{host}", "test_d7fd0429940", "test_user") }

  describe "#search" do
    before do
      stub_get("#{host}/search").with(query: { q: "test" }).to_return(
        body: fixture("search.json"),
        headers: {
          content_type: "application/json",
        },
      )
    end

    it "requests the correct resource" do
      subject.search("test")
      expect(a_get("#{host}/search").with(query: { q: "test" })).to have_been_made
    end

    it "returns the requested search" do
      results = subject.search("test")
      expect(results).to be_an Array
      expect(results.first).to be_a Hash
    end

    it "raises an ArgumentError for nil" do
      expect { subject.search(nil) }.to raise_error(ArgumentError)
    end

    it "raises an ArgumentError for empty string" do
      expect { subject.search("") }.to raise_error(ArgumentError)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
discourse_api-2.0.1 spec/discourse_api/api/search_spec.rb
discourse_api-2.0.0 spec/discourse_api/api/search_spec.rb