Sha256: d7607d3ee2be4a83c18a6494069b441450e8fa855a06ec08cadd5ceecb30d697

Contents?: true

Size: 1.55 KB

Versions: 9

Compression:

Stored size: 1.55 KB

Contents

# frozen_string_literal: true

require 'test_helper'

module Vedeu

  module Repositories

    describe Registerable do

      class RegisterableTestClass

        include Vedeu::Repositories::Registerable

        null Vedeu::Repositories::ModelTestClass
        real Vedeu::Repositories::ModelTestClass

      end

      let(:described) { Vedeu::Repositories::Registerable }

      it { RegisterableTestClass.must_respond_to(:repository) }
      it { RegisterableTestClass.must_respond_to(:register) }

      describe '.null' do
        subject { RegisterableTestClass.new }

        it { RegisterableTestClass.must_respond_to(:null) }

        it { subject.must_respond_to(:null_model) }
        it { subject.must_respond_to(:null_attributes) }
        it { subject.null_model.must_equal(Vedeu::Repositories::ModelTestClass) }
        it { subject.null_attributes.must_equal({}) }
      end

      describe '.real' do
        subject { RegisterableTestClass.new }

        it { RegisterableTestClass.must_respond_to(:real) }

        it { subject.must_respond_to(:model) }
        it { subject.model.must_equal(Vedeu::Repositories::ModelTestClass) }
      end

      describe '.reset' do
        subject { RegisterableTestClass.reset! }

        before { RegisterableTestClass.stubs(:register) }

        it { RegisterableTestClass.must_respond_to(:reset!) }
        it { RegisterableTestClass.must_respond_to(:reset) }

        it do
          RegisterableTestClass.expects(:register)
          subject
        end
      end

    end # Registerable

  end # Repositories

end # Vedeu

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
vedeu-0.8.9 test/lib/vedeu/repositories/registerable_test.rb
vedeu-0.8.8 test/lib/vedeu/repositories/registerable_test.rb
vedeu-0.8.7 test/lib/vedeu/repositories/registerable_test.rb
vedeu-0.8.6 test/lib/vedeu/repositories/registerable_test.rb
vedeu-0.8.5 test/lib/vedeu/repositories/registerable_test.rb
vedeu-0.8.4 test/lib/vedeu/repositories/registerable_test.rb
vedeu-0.8.3 test/lib/vedeu/repositories/registerable_test.rb
vedeu-0.8.2 test/lib/vedeu/repositories/registerable_test.rb
vedeu-0.8.1 test/lib/vedeu/repositories/registerable_test.rb