spec/octopus/model_spec.rb in ar-octopus-0.10.0 vs spec/octopus/model_spec.rb in ar-octopus-0.10.1

- old
+ new

@@ -520,23 +520,63 @@ @user1 = User.using(:brazil).create!(:name => 'User1') @user2 = User.using(:brazil).create!(:name => 'User2') @user3 = User.using(:brazil).create!(:name => 'User3') end - it "#find_each should work" do + it "#find_each should work with a block" do result_array = [] User.using(:brazil).where("name is not NULL").find_each do |user| result_array << user end expect(result_array).to eq([@user1, @user2, @user3]) end - it "#find_in_batches, should work" do + it "#find_each should work as an enumerator" do result_array = [] + User.using(:brazil).where("name is not NULL").find_each.each do |user| + result_array << user + end + + expect(result_array).to eq([@user1, @user2, @user3]) + end + + it "#find_each should work as a lazy enumerator" do + result_array = [] + + User.using(:brazil).where("name is not NULL").find_each.lazy.each do |user| + result_array << user + end + + expect(result_array).to eq([@user1, @user2, @user3]) + end + + it "#find_in_batches should work with a block" do + result_array = [] + User.using(:brazil).where("name is not NULL").find_in_batches(batch_size: 1) do |user| + result_array << user + end + + expect(result_array).to eq([[@user1], [@user2], [@user3]]) + end + + it "#find_in_batches should work as an enumerator" do + result_array = [] + + User.using(:brazil).where("name is not NULL").find_in_batches(batch_size: 1).each do |user| + result_array << user + end + + expect(result_array).to eq([[@user1], [@user2], [@user3]]) + end + + it "#find_in_batches should work as a lazy enumerator" do + result_array = [] + + User.using(:brazil).where("name is not NULL").find_in_batches(batch_size: 1).lazy.each do |user| result_array << user end expect(result_array).to eq([[@user1], [@user2], [@user3]]) end