Sha256: c4170691b6d016a439a29b4866ef4c2c9c12c6c2240d71d017dfc669559fd9d3

Contents?: true

Size: 1.58 KB

Versions: 21

Compression:

Stored size: 1.58 KB

Contents

# frozen_string_literal: true

require 'test_helper'

module Vedeu

  module Repositories

    module StorageTestModule

      extend self
      extend Vedeu::Repositories::Storage

      def store(test_item = nil)
        storage << test_item if test_item
      end

      def in_memory
        []
      end

    end # StorageTestModule

    describe Storage do

      let(:extended_described) { Vedeu::Repositories::StorageTestModule }

      describe '#all' do
        it { extended_described.must_respond_to(:all) }
      end

      describe '#reset' do
        it { extended_described.must_respond_to(:reset) }
      end

      describe '#reset!' do
        before do
          extended_described.reset!
          extended_described.store(:some_item)
        end

        subject { extended_described.reset! }

        it 'resets the storage to an empty state' do
          extended_described.storage.must_equal([:some_item])
          subject.must_equal([])
        end
      end

      describe '#storage' do
        subject { extended_described.storage }

        context 'when the storage is empty' do
          before { extended_described.reset! }

          it { subject.must_equal([]) }
        end

        context 'when the storage is not empty' do
          let(:expected) { [:some_item, :other_item] }

          before do
            extended_described.reset!
            extended_described.store(:some_item)
            extended_described.store(:other_item)
          end

          it { subject.must_equal(expected) }
        end
      end

    end # Storage

  end # Repositories

end # Vedeu

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
vedeu-0.8.32 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.31 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.30 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.29 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.28 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.27 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.26 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.25 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.24 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.23 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.22 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.21 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.20 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.19 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.18 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.17 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.16 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.15 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.14 test/lib/vedeu/repositories/storage_test.rb
vedeu-0.8.13 test/lib/vedeu/repositories/storage_test.rb