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