Sha256: ff480f299ce71bd6e41c33822a133d4e34e00b744e815da17e170ad7e9c1deb9

Contents?: true

Size: 986 Bytes

Versions: 3

Compression:

Stored size: 986 Bytes

Contents

# frozen_string_literal: true
require 'spec_helper'

describe SpeedyAF::OrderedAggregationIndex do
  before { load_fixture_classes!   }
  after  { unload_fixture_classes! }

  describe 'method injection' do
    subject(:book) { Book.new }

    it 'respond to index methods' do
      expect(book).to respond_to(:indexed_chapter_ids)
      expect(book).to respond_to(:indexed_chapters)
    end
  end

  describe 'indexing' do
    subject(:book) { Book.new }

    it 'empty' do
      expect(book.indexed_chapter_ids).to be_empty
    end

    context 'with chapters' do
      let!(:chapters) { 1.upto(5).map { Chapter.create } }

      before do
        book.ordered_chapters = chapters.reverse
        book.save
      end

      it 'loads indexed chapter IDs' do
        expect(book.indexed_chapter_ids).to eq(book.ordered_chapter_ids)
      end

      it 'loads indexed chapters' do
        expect(book.indexed_chapters.to_a).to eq(book.ordered_chapters.to_a)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
speedy-af-0.4.0 spec/integration/ordered_aggregation_index_spec.rb
speedy-af-0.3.0 spec/integration/ordered_aggregation_index_spec.rb
speedy-af-0.2.0 spec/integration/ordered_aggregation_index_spec.rb