Sha256: da14e588c7ac46a4cf65141ec2ad14e9ab7ea301818e2b3108ee58c8472fd475

Contents?: true

Size: 1.92 KB

Versions: 5

Compression:

Stored size: 1.92 KB

Contents

require 'spec_helper'

describe Curate::PeopleController do
  describe "#show" do
    let(:person) { FactoryGirl.create(:person_with_user) }
    after do
      person.destroy
    end
    context 'my own person page' do
      before { sign_in person.user }

      it "should show me the page" do
        get :show, id: person.pid
        expect(response).to be_success
        assigns(:person).should == person
      end
    end

    context 'someone elses person page' do
      let(:user) { FactoryGirl.create(:user) }
      before { sign_in user }
      after { user.destroy }

      it "should show me the page" do
        get :show, id: person.pid
        expect(response).to be_success
      end
    end
  end

  describe "searching via json" do
    before(:all) do
      Person.destroy_all
      @katie = FactoryGirl.create(:person, name: 'Katie F. White-Kopp')
      @alvin = FactoryGirl.create(:person, name: 'A. S. Mitchell')
      @john = FactoryGirl.create(:person_with_user, name: 'John Corcoran III')
    end


    after(:all) do
      @katie.destroy
      @alvin.destroy
      @john.destroy
    end

    it "should return results on full first name match" do
      get :index, q: 'Katie', format: :json
      json = JSON.parse(response.body)
      json['response']['docs'].should == [{"id"=>@katie.pid, "desc_metadata__name_tesim"=>["Katie F. White-Kopp"]}]
    end

    it "should return results on full last name match" do
      get :index, q: 'Mitchell', format: :json
      json = JSON.parse(response.body)
      json['response']['docs'].should == [{"id"=>@alvin.pid, "desc_metadata__name_tesim"=>["A. S. Mitchell"]}]
    end

    describe "when constrained to users" do
      it "should return users" do
        get :index, q: '', user: true, format: :json
        json = JSON.parse(response.body)
        json['response']['docs'].should == [{"id"=>@john.pid, "desc_metadata__name_tesim"=>["John Corcoran III"]}]
      end
    end


  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
curate-0.5.4 spec/controllers/curate/people_controller_spec.rb
curate-0.5.2 spec/controllers/curate/people_controller_spec.rb
curate-0.5.1 spec/controllers/curate/people_controller_spec.rb
curate-0.5.0 spec/controllers/curate/people_controller_spec.rb
curate-0.4.2 spec/controllers/curate/people_controller_spec.rb