Sha256: d6c24887046cd93df8feba93402cde4ae8290a2ae66e70dd04e7c5ab27f097f2
Contents?: true
Size: 1.58 KB
Versions: 1
Compression:
Stored size: 1.58 KB
Contents
require 'rails_helper' RSpec.describe 'Searchable', elastic: true do # rubocop:disable RSpec/DescribeClass after(:all) do clean_up_indexes_and_tables end let!(:alice) { create(:person, given_name: 'Alice', surname: 'Andrews') } let!(:bob) { create(:person, given_name: 'Bob', surname: 'Browning', location: 'Petty France 10th floor', description: 'weekends only') } let!(:digital_services) { create(:group, name: 'Digital Services') } let!(:membership) { bob.memberships.create(group: digital_services, role: 'Cleaner') } context 'with some people' do before do Peoplefinder::Person.import sleep 1 end it 'searches by surname' do results = search_for('Andrews') expect(results).to include(alice) expect(results).to_not include(bob) end it 'searches by name' do results = search_for('Alice') expect(results).to include(alice) expect(results).to_not include(bob) end it 'searches by given_name' do results = search_for('Bob Browning') expect(results).to_not include(alice) expect(results).to include(bob) end it 'searches by group name and membership role' do results = search_for('Cleaner at digiTAL Services') expect(results).to_not include(alice) expect(results).to include(bob) end it 'searches by description and location' do results = search_for('weekends at petty france office') expect(results).to_not include(alice) expect(results).to include(bob) end end def search_for(query) Peoplefinder::Person.search(query).records end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
peoplefinder-0.0.2 | spec/models/peoplefinder/concerns/searchable_spec.rb |