spec/lib/gummi/repository_layer/repository_spec.rb in gummi-0.2.3 vs spec/lib/gummi/repository_layer/repository_spec.rb in gummi-0.3.0

- old
+ new

@@ -10,57 +10,61 @@ describe 'Repobahn' do it 'is included' do repository_class.should respond_to :db_class repository_class.should respond_to :entity_class - repository_class.should respond_to :db_instance_to_entity + repository_class.new.should respond_to :db_instance_to_entity end end describe '.get', elastic: true do + + let (:people) { People.new } + context 'existing record' do let (:db_person) { DB::Person.create name: 'Buzz Lightyear' } it 'return an entity' do - person = People.get(db_person.id) + person = people.get(db_person.id) person.id.should == db_person.id end end context 'missing record' do it 'returns nil' do - person = People.get 'missing_id' + person = people.get 'missing_id' person.should be_nil end end end describe '.search', elastic: true do - let(:buzz) { DB::Person.create name: 'Buzz Lightyear' } - let(:woody) { DB::Person.create name: 'Woody' } + let (:people) { People.new } + let(:buzz) { DB::Person.create name: 'Buzz Lightyear' } + let(:woody) { DB::Person.create name: 'Woody' } before do buzz && woody Gummi::DbLayer::DefaultIndex.refresh end it 'sorts correctly' do - People.search(sort: { name: :asc }).records.map(&:name).should == [buzz.name, woody.name] - People.search(sort: { name: :desc }).records.map(&:name).should == [woody.name, buzz.name] + people.search(sort: { name: :asc }).records.map(&:name).should == [buzz.name, woody.name] + people.search(sort: { name: :desc }).records.map(&:name).should == [woody.name, buzz.name] end it 'finds the correct documents' do - result = People.search do |search| + result = people.search do |search| search.query_string = 'Woody' search.facets[:names] = { terms: { field: :name, all_terms: true, size: 100 } } end result.total.should == 1 result.facets.names.woody.should == 1 result.records.first.name.should == 'Woody' end it 'converts the result to entities' do - result = People.search do |search| + result = people.search do |search| search.query_string = 'Woody' end woody = result.records.first result.facets.should be_nil woody.converted_name.should == 'ydooW' \ No newline at end of file